Ya, saya seuju dengan mas eko, hipotesis awal saya pun mengatakan
demikian, 
sebaiknya update diproses diserver saja (menggunakan stored procedure
untuk melakukan beberapa proses), 

tapi database server diaksses oleh +/- 100 orang, jadi diusahakan
untuk menggunakan resource pada server seminimal mungkin, agar client
dapat mengakses server tanpa adanya gangguan, yang mungkin disebabkan
karena eksekusi yang terlalu berat di server.

Cara 1 mungkin bisa di cegah dengan menggunakan Multi Threading
sehingga untuk proses looping data yang segitu banyaknya yang mungkin
menyebabkan hang, tidak terpengaruh karena proses tersebut berjalan di
background.


--- In [email protected], "Eko Heri Susanto" <[EMAIL PROTECTED]>
wrote:
>
> "IdiOot" wrote:
> 
> 
> > Cara 1
> > 
> > Dim rs as New ADODB.Recordset
> > Dim dbClass as New clsDatabase
> > Dim SumDetail as Double
> > 
> > dbClass.ConnStr = Bla... Bla... Bla...
> > 
> > ' Ambil Data Master dari Item
> > sql_query = "SELECT * FROM tbl MasterItem"
> > set rs = dbClass.GetRS("SELECT * FROM tblMasterItem")
> > 
> > For i = 0 To rs.Recordcount - 1
> >     ' Ambil Summary dari detail
> >     SumDetail = dbClass.GetSum("qty","tblDetailItem","id_master_item 
> > =
> > " & rs!id_master_item)
> >     dbClass.Execute "UPDATE tblMasterItem SET Stock = " & SumDetail 
> > &
> > " WHERE id_master_item = " & rs!id_master_item
> >     rs.MoveNext
> > Next i
> > 
> 
> Kalo datanya 1.783.455 berarti proses looping lama dong. ini juga akan
> membutuhkan proses yang berat di komputer client. Hati2 kalo datanya
> semakin banyak, bisa-bisa komputer anda hang lho hehe.
> 
> Kelemahan yang kedua, jika aplikasi anda client-server dimana aplikasi
> berada di client dan database di server, maka client akan mengirimkan
> transact sql ke server sebanyak looping yang anda buat itu artinya
> resource jaringan anda banyak terpakai.
> 
> Jika dalam proses update tersebut anda menggunakan transaction (begin
> trans, commit trans, rollback trans) maka database anda akan ke-lock
> selama proses looping data. ini artinya selama proses berjalan, user
> yang lain tidak bisa make database.
> 
> Jadi saran saya mending anda gunakan cara yang kedua karena yang
> proses hanya sql server-nya aja sedangkan yg di client hanya
> mengirimkan 1 transact sql. ini jelas lebih ngirit resource di
> komputer client dan jaringan.
> 
> Demikian semoga ada manfaatnya
> 
> regards
> 
> eko heri
>


Kirim email ke