Pogledajte određenu poruku
Staro 15. 02. 2006.   #1
bojan_bozovic
expert
Master
 
Avatar bojan_bozovic
 
Datum učlanjenja: 20.12.2005
Poruke: 730
Hvala: 0
0 "Hvala" u 0 poruka
bojan_bozovic is on a distinguished road
Cool SQL (sve baze) = nema binarne pretrage?

Palo mi je u oci da zbog DELETE upita mozete imati primarne kljuceve koji nisu po redu, tj da RDBMS ne moze da vrsi binarnu pretragu po primarnim kljucevima = mora da prolazi kroz sve recorde - imate ih milion - milion. Idealno je da se izsortira pa vrsi binarna pretraga, ali to ne moze ako svi kljucevi nisu prisutni, tj imate bar jedan koji fali+dobro je da su po redu ako ih mnogo ima. Flatfile db koji je dobro dizajniran uz binarnu pretragu ima da bije SQL kad je pretraga po primarnim indeksima po sredi - a za sve ostalo ne moze biti sporija jer takodje mozemo da napravimo virtuelnu tabelu, izsortiramo po koloni i vrsimo binarnu pretragu. Naravno da za komplikovaniji upit (dovoljno je WHERE NAME="Pera") mora da se prolazi kroz celu bazu. Zeleo bih malo da prodiskutujem o ovome, mada ne spada u SQL vec dizajn samog RDBMS. Naravno, ovde mislim na flatfile db koji nije na Perlu ili sl. jezicima vec npr. C/C++

Edit: prakticno pri trazenju po primarnom kljucu ne moze da otpadne sortiranje, sto je problem za veliku bazu. Mnogo bi bilo bolje da nema uopste DELETE upita i da su indeksi po redu.

Poslednja izmena od bojan_bozovic : 15. 02. 2006. u 08:52.
bojan_bozovic je offline   Odgovorite uz citat