Untuk masalah temp table ini, gue uda terapkan di web aplikasi
untuk bank danamon (gue ikut nimbrung di project ini), nah aplikasi itu di akses
oleh semua cabang di danamon di seluruh Indonesia, bisa bayangkan
banyaknya user yg akses dan besarnya data yg ditampung.
nah untuk masalah temp table ini, saya gunakan untuk men "tune up"
kecepatan proses dari store procedure yg sudah pernah dibuat.
Salah satu store procedure sebelum menggunakan temp table,
proses yg di lakukan bisa hampir setengah harian (dari jam 8 - abis makan
siang),
setelah mengganti beberapa proses dengan menggunakan temp table,proses yg
dilakukan cuman 10 menit an..... mantap kan .....
mengenai penggunaan select into pada
select distinct kode_customer
into #customer
from tblcustomer
where branch = @branch
ini tidak mempengaruhi masalah log system, semuanya di handle oleh SQL server
nya,
saya sering menggunakannya, karena lebih simple,tapi jika temp table di gunakan
di dalam
perintah if ...
mis:
if
begin
select * form #customer where nama='doel'
end
else
begin
select * form #customer where nama='bejo'
end
baru harus buat temp table nya dulu.
ini script untuk meng shrink file log ... log database kita atau database tempdb
dump tran tempdb with no_log
dbcc shrinkdatabase (tempdb, 0)
di atas contoh untuk meng shrink database tempdb, kalo mau database kita
tinggal ganti tempdb jadi nama database kita, di jamin log nya nyusut.....
tinggal taruh di schedule nya SQL (agentnya SQL).
ini semua untuk di gunakan di sql server yah, kalo oracle laen lagi, apalagi
access.
sekedar info :
kalo programing di SQL server (store procedure,function, view, dll)
istilah bahasanya T-SQL tapi kalo di oracle istilahnya PL/SQL.
kalo ada proses data kalo bisa gunain store procedur, lebih simple,
lebih cepat ... jadi di vb nya tinggal tampilin datanya, atau di gunakan
dalam proses loop, dimana cuman melakukan sekali loop nya,dibandingkan,
ambil recordset untuk customer per cabangnya dulu, trus baru proses
ngambil transaksinya, kemudian di cek satu2 customernya,kalo pake store
procedure,
tinggal kirim paramter cabangnya, trus tinggal proses recordsetnya
aja (hanya menggunakan satu recordset).
emang sih ini untuk tingkat menengah sampe ke tingkat lanjut, tapi bagi pemula
jadi ada pikiran untuk menggunakan proses ini, karena aplikasi yang kita buat
sebagian besar berhubungan dengan database.
untuk masalah report menggunakan store procedure lebih mudah lagi, dan bisa
mengatasi segala macam jenis report yg diminta.
dan satu info lagi : semua jenis database server (SQL server,oracle,dll) , kalo
mau
merasakan betapa power full nya itu database server ... gunakan bahasanya tuh
database.
githuuuuuuu......
moga bermanfaat ......
---------------------------------
From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of David
Joyo Mulyono
Sent: Thursday, July 05, 2007 10:20 AM
To: [email protected]
Subject: RE: [indoprog-vb] Re: Cara mudah bikin file temp di SQL Server
Siip ... kaya gini donk milisnya ... jadi lebih hidup :-))
Untuk penggunaan Temp table, memang agak berbahaya jika tidak ditangani
secara benar. Lebih baik dipergunakan untuk hal yang benar-benar penting
saja.
Cara lain bisa lewat array di program kita. Memang membutuhkan memori dan
kecepatan prosesor yang lebih besar di pihak klien, tetapi dapat
mengurangi masalah bottleneck dan masalah log.
Semua cara yang sedang dibahas mempunyai kelebihan dan kekurangan
masing-masing. Jadi seperti kata mas Eris, semuanya tergantung dari
kebiasaan si programmer sendiri. Bisa menggunakan semua cara yang ada,
tergantung dari apa yang dihadapi. Contoh: laporan stok mungkin bisa
memakai temporary table, laporan penjualan menggunakan XML dan SOAP,
laporan pembelian bisa menggunakan array, laporan keuangan menggunakan
gabungan temporary dan array. Sehingga sedikit banyak bisa mengurangi
beban dan masalah-masalah yang bakal muncul.
Untuk mengatasi besarnya log, kadang tidak cuma cukup dengan shrink
database aja. Walaupun sudah dishrink, tapi Log tetap makin membesar. Trik
lain untuk mengatasi log yang besar (harus pada jam kosong) :
1. Detach database
2. Salin file *.MDF dan *.LDF dari database tersebut ke folder lain (untuk
backup)
3. Attach database ke SQL Server yang lain
4. Shrink database
5. Detach database
6. Attach database ke SQL Server asal
Jika masih membandel :
1. buat script dari database tersebut
2. Buat database baru
3. jalankan scriptnya di Query analyser
4. gunakan Export/Import data
Best Regards,
David J M
Advess - ISV
> Uupppss.. Padahal awal pertama saya kasih tip sederhana ini bagi mereka
> yang
> baru belajar supaya tidak dipusingkan pembuatan table temporary dengan
> tidak
> memperhatikan hal-hal lain seperti misalnya Log atau bottleneck yang
> terjadi
> (karena selanjutnya ada tips untuk mengakali log dan bottleneck itu
> sendiri.)
>
> Ternyata ditanggapi oleh para pakar dibidangnya,
>
> Terima kasih atas tambahannya.
>
>
>
> Sementara untuk tingkat lanjutnya saya sependapat dengan yang Mas Rudy
> Chasan paparkan.
>
> Tapi bagaimana pun itu tergantung kebiasaannya si programmer itu sendiri,
> nah dengan ada sharring seperti ini tentunya akan banyak menambah masukan
> yang sangat berarti sehingga pengetahuan pun tidak hanya mentok
> disitu-situ
> aja.
#ygrp-mlmsg { FONT-SIZE: small; FONT-FAMILY:
arial,helvetica,clean,sans-serif}#ygrp-mlmsg TABLE { }#ygrp-mlmsg SELECT {
FONT: 99% arial,helvetica,clean,sans-serif}INPUT { FONT: 99%
arial,helvetica,clean,sans-serif}TEXTAREA { FONT: 99%
arial,helvetica,clean,sans-serif}#ygrp-mlmsg PRE { FONT: 100% monospace}CODE
{ FONT: 100% monospace}#ygrp-mlmsg { LINE-HEIGHT: 1.22em}#ygrp-text {
FONT-FAMILY: Georgia}#ygrp-text P { MARGIN: 0px 0px 1em}#ygrp-tpmsgs
{ CLEAR: both; FONT-FAMILY: Arial}#ygrp-vitnav { FONT-SIZE: 77%; MARGIN:
0px; PADDING-TOP: 10px; FONT-FAMILY: Verdana}#ygrp-vitnav A { PADDING-RIGHT:
1px; PADDING-LEFT: 1px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px}#ygrp-actbar {
CLEAR: both; MARGIN: 25px 0px; COLOR: #666; WHITE-SPACE: nowrap; TEXT-ALIGN:
right}#ygrp-actbar .left { FLOAT: left; WHITE-SPACE: nowrap}..bld {
FONT-WEIGHT: bold}#ygrp-grft { PADDING-RIGHT: 0px; PADDING-LEFT: 0px;
FONT-SIZE: 77%; PADDING-BOTTOM: 15px; PADDING-TOP: 15px; FONT-FAMILY:
Verdana}#ygrp-ft { PADDING-RIGHT: 0px; BORDER-TOP: #666 1px solid;
PADDING-LEFT: 0px; FONT-SIZE: 77%; PADDING-BOTTOM: 5px; PADDING-TOP: 5px;
FONT-FAMILY: verdana}#ygrp-mlmsg #logo { PADDING-BOTTOM: 10px}#ygrp-vital
{ PADDING-RIGHT: 0px; PADDING-LEFT: 8px; MARGIN-BOTTOM: 20px;
PADDING-BOTTOM: 8px; PADDING-TOP: 2px; BACKGROUND-COLOR: #e0ecee}#ygrp-vital
#vithd { FONT-WEIGHT: bold; FONT-SIZE: 77%; TEXT-TRANSFORM: uppercase;
COLOR: #333; FONT-FAMILY: Verdana}#ygrp-vital UL { PADDING-RIGHT: 0px;
PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 2px 0px; PADDING-TOP:
0px}#ygrp-vital UL LI { CLEAR: both; BORDER-RIGHT: #e0ecee 1px solid;
BORDER-TOP: #e0ecee 1px solid; BORDER-LEFT: #e0ecee 1px solid; BORDER-BOTTOM:
#e0ecee 1px solid; LIST-STYLE-TYPE: none}#ygrp-vital UL LI .ct {
PADDING-RIGHT: 0.5em; FONT-WEIGHT: bold; FLOAT: right; WIDTH: 2em; COLOR:
#ff7900; TEXT-ALIGN: right}#ygrp-vital UL LI .cat { FONT-WEIGHT:
bold}#ygrp-vital A { TEXT-DECORATION: none}#ygrp-vital A:hover {
TEXT-DECORATION: underline}#ygrp-sponsor #hd { FONT-SIZE: 77%; COLOR:
#999}#ygrp-sponsor #ov { PADDING-RIGHT: 13px; PADDING-LEFT: 13px;
MARGIN-BOTTOM: 20px; PADDING-BOTTOM: 6px; PADDING-TOP: 6px; BACKGROUND-COLOR:
#e0ecee}#ygrp-sponsor #ov UL { PADDING-RIGHT: 0px; PADDING-LEFT: 8px;
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px}#ygrp-sponsor #ov LI {
PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 77%; PADDING-BOTTOM: 6px;
PADDING-TOP: 6px; LIST-STYLE-TYPE: square}#ygrp-sponsor #ov LI A { FONT-SIZE:
130%; TEXT-DECORATION: none}#ygrp-sponsor #nc { PADDING-RIGHT: 8px;
PADDING-LEFT: 8px; MARGIN-BOTTOM: 20px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px;
BACKGROUND-COLOR: #eee}#ygrp-sponsor .ad { PADDING-RIGHT: 0px; PADDING-LEFT:
0px; PADDING-BOTTOM: 8px; PADDING-TOP: 8px}#ygrp-sponsor .ad #hd1 {
FONT-WEIGHT: bold; FONT-SIZE: 100%; COLOR: #628c2a; LINE-HEIGHT: 122%;
FONT-FAMILY: Arial}#ygrp-sponsor .ad A { TEXT-DECORATION: none}#ygrp-sponsor
.ad A:hover { TEXT-DECORATION:
underline}#ygrp-sponsor .ad P { MARGIN: 0px}o { FONT-SIZE:
0px}..MsoNormal { MARGIN: 0px}#ygrp-text TT { FONT-SIZE: 120%}BLOCKQUOTE
{ MARGIN: 0px 0px 0px 4px}..replbq { }
---------------------------------
Lelah menerima spam? Surat Yahoo! mempunyai perlindungan terbaik terhadap spam.
http://id.mail.yahoo.com/
[Non-text portions of this message have been removed]