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 >
