temp table itu hanya ada selama session koneksi ke database
dalam keadaan open,
 
kalo temp table nya di buat di dalam SP, 
setiap meng execute SP nya itu adalah session yg sedang aktif
 
misalnya
 
SQL1 ="exec get_customer_transaction_per_branch '" & strBranch & "'"
trus di execute dengan recordset1

SQL2 ="exec get_customer_transaction_per_branch '" & strBranch & "'"
trus di execute dengan recordset2
 
antara recordset1 ama recordset2, masing2 akan membuat temp table
yg berbeda tapi satu nama #customer, masing2 di session yg bebeda.
satu session satu temp table
 
kalo mau bukti in, 
1.buka query analyzer nya sql
2. buka 2 window query.
3. di window query ke satu buat table temp ---> select 'doel' as nama into 
#customer
4. kemudian coba lakukan (masih dalam window query yg ke satu) ---->  select * 
from #customer 
5. maka akan muncul hasilnya
6 pindahin ke window query ke dua
7.kemudian coba lakukan ---->  select * from #customer 
8 hasil  ---> Invalid object name '#customer' karena itu session yg berbeda
 
itu yg di maksud sessionnya berbeda, jadi setiap buka koneksi ke database,
sql akan membuat satu session, jadi setiap koneksi jgn lupa di close,
emang sih di vb, masalah nge close koneksi database akan dilakukan 
otomatis kalo programnya sudah keluar, tapi kan kalo keluar, kalo belum keluar,
trus ada yg jalanin program kita lagi ( multi user), sampe banyak user,
apa yg ter jadi? ...... itu namanya memory leak ...jgn heran kalo istilah 
memory leak bisa terjadi di vb .... biasanya istilah itu di kenal di kalangan
programmer C. soalnya team gue pernah ngalaminnya.
 
temp table itu di buatnya di database tempdb itu, bukan di table kita, makanya 
lognya tempdb suka bengkak filenya.
 
makanya di anjurkan untuk selalu melakukan
 
drop table #customer
 
kalo di dlm SP nya tidak di perlukan lagi.
 
gitchuuuuuu .....
 
FYI :
 
di dlm sql server ada dua cara membuat temp table
1. dengan perintah Create table #customer ..... dst
2. dengan perintah declare @customer table(nama varchar(20)) ..dst 
 
untuk yg nomor 2, itu prosesnya lebih cepat lagi dibandingkan dengan nomor 1
kenapa bisa lebih cepat? ..... karena temp tablenya dibuat di memory, 
sama seperti kalo kita men declare variable, jadi itu namanya variable bertipe 
table,
jadi kalo datanya banyak, otomatis akan makan memory banyak juga 
(bukan space nya hardisk loh), gue sendiri jarang menggunakan nomor 2, 
karena terlalu banyak makan memory.
 
 
moga bermanfaat ....

 
 
 

---------------------------------

From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Opie 
Purnama
Sent: Thursday, July 05, 2007 3:52 PM
To: [email protected]
Subject: Re: [indoprog-vb] Re: Cara mudah bikin file temp di SQL Server




sori nanya juga
kl seandainya buat temp table dgn nama #customer
ini disimpan ga di Database? kl disimpan dgn nama apa?
apa yg terjadi kl seandainya ada orang lain juga yg buka SP ini?
apakah akan mereplace temp dari user yg buka duluan pertama?

terima kasih

----- Original Message ----- 
From: rudy chasan 
To: [email protected] 
Sent: Thursday, July 05, 2007 1:42 PM
Subject: FW: [indoprog-vb] Re: Cara mudah bikin file temp di SQL Server

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 .......

. 


[Non-text portions of this message have been removed]



 #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 {      }
       
---------------------------------
Kunjungi halaman depan Yahoo! Indonesia yang baru!

[Non-text portions of this message have been removed]

Kirim email ke