|
eon
Član broj: 10450 Poruke: 53 *.as54.bi.bih.net.ba.
|
Za svako Delete() odabrani row se oznaci kao obrisan. DataAdapter ima DeleteCommand koji izgleda otprilike (ako je rucno pises) "DELETE FROM [TABLE] WHERE [PRIMARY_KEY] = @PRIMARY_KEY (ako je konstruise command builder, onda je jos veca i komplikovanija radi obezbjedjivanja konkurentnog pristupa bazi).
U jednom trenutku moze samo jedan red obrisati. Kada pozoves DataAdapter.Update(dataset, datatable) - za svaki od tvojih 4-5 hiljada slogova izvrsava se po jedna DeleteCommand prema bazi. Da ne spominjem sporost iteriranja kroz dataset za vrijeme dok si oznacavao redove za brisanje.
Ako medjutim, upotrijebis DELETE FROM TABLE WHERE [KRITERIJ PO KOM ODLUCUJES BRISANJE] - zadajes samo jedanput komandu bazi podataka, koja uz svoje optimizirane algoritme to obavi relativno brzo.
Neka me neko ispravi ako grijesim ili ako sam pogresno shvatio pitanje. :)
|