Pogledajte određenu poruku
Staro 16. 10. 2009.   #10
Dejan Topalovic
old school
Professional
 
Datum učlanjenja: 15.02.2006
Lokacija: Wien, Austria
Poruke: 304
Hvala: 121
47 "Hvala" u 26 poruka
Dejan Topalovic će postati "faca" uskoro
Pošaljite poruku preko MSN za Dejan Topalovic
Default

Citat:
Originalno napisao mb_sa Pogledajte poruku
Nadam se da ne pravim veliki offtopic.

Nisam za ovo do sada čuo, pa mi je intesantno! Jeli moze neko objašnjenje?

Hvala.
Offtopic: Svaki record ima header u kojem sadrzi pointere i ostale informacije o kolonama i sadrzaju tih kolona (fix/variable length, null/not null, data type ... ), tako da se malkice dobija na I/O performansama ukoliko je selektovana kolona na pocetku recorda umjesto na kraju... Nije svejedno da li moras proci kroz 50 pointera, da bi dosao do zeljenog na 51.-om mjestu ili da moras proci 2 pointera, da bi dosao do treceg, kojim dolazis do selektovane kolone... Ovo dolazi do izrazaja pri full table scanu i kad imas velik broj redova, kao sto je u ovom primjeru 2-5 miliona... Ja sam imao slucajeva u kojima se u SQL upitu koristi tabela sa ca. 60 kolona i 30 miliona redova, a jedna od tih kolona se koristi u WHERE uslovu... E sad, kao sto je i bilo ocekivano da ce za svaku od vrijednosti te kolone biti izvrsen full table scan, tako je i bilo, ali je bilo uzasno sporo... Nakon dublje analize, shvatio sam da je to mozda zbog toga sto se ta kolona nalazi na predzadnjem mjestu, tako da se mora proci maltene citav record, da bi se doslo do trazene vrijednosti te kolone... Nakon sto sam napravio kopiju te tabele, ali uz bitnu izmjenu - tu kolonu sam stavio na drugo mjesto - brzina izvrsavanja se poboljsala za ca. 30%

Ontopic: Index na koloni country ce pomoci, ako je selectivity za zeljenu zemlju manji od 15-20%, a u suprotnom ce biti ignorisan i izvrsice se full table scan...
__________________
Blog: Baze podataka
------------------------
Oracle OCP DBA
Oracle OCE SQL Expert
Oracle OCP Developer
Certified MySQL DBA
Dejan Topalovic je offline   Odgovorite uz citat
2 članova zahvaljuje Dejan Topalovic za poruku: