SQL baze podataka - Sponzor: Baze-Podataka.net MySQL, MSSQL, Oracle, Access, ODBC. Ako imate problem brže i preciznije ćete dobiti odgovor ako priložite strukturu tabela ili skript koji kreira tabele i puni ih test podacima umesto što to problem opisujete samo rečima. Sponzor: Baze-Podataka.net - Blog o bazama podataka |
|
Alati teme | Način prikaza |
|
30. 05. 2011. | #1 |
Branimir Momcilovic
Qualified
Datum učlanjenja: 15.02.2006
Lokacija: Beograd
Poruke: 167
Hvala: 47
25 "Hvala" u 8 poruka
|
Upit
Kôd:
select c from t1 where c = “abc” order by c limit 1 Kôd:
select c from t1 where c like “abc%” order by c limit 1 Eh sad, ovaj zbunjujući: Kôd:
select c from t1 where c like “%abc%” order by c limit 1 - forward index scan
__________________
Važnije je biti ljubazan, nego biti u pravu. |
30. 05. 2011. | #2 |
Super Moderator
Knowledge base
Datum učlanjenja: 02.10.2006
Lokacija: Niš
Poruke: 1.618
Hvala: 263
275 "Hvala" u 104 poruka
|
zasto?
u Select deo ne ide kriterijum pretrage, vec mu se tu samo kaze koje dodatne kolone treba da pokupi kada utvrdi koji slogovi odgovaraju kriterijumu. jedino ako mislis da on radi table scan jer proceni da bi mu "index scan + dodatno citanje tih dodatnih kolona" oduzelo vise vremena nego table scan [koji odradi u jednom naletu] ? po toj logici bi se indexi retko kad koristili, jer uglavnom svi upiti fetch-uju i ta dodatna polja. |
30. 05. 2011. | #3 |
Branimir Momcilovic
Qualified
Datum učlanjenja: 15.02.2006
Lokacija: Beograd
Poruke: 167
Hvala: 47
25 "Hvala" u 8 poruka
|
@peca Loše sam napisao, zavisi od konkretnog slučaja, trebalo je da napišem: može da se desi da uradi table scan. Kao što je jablan već rekao, zavisi od konkretnog slučaja šta će da odluči engine.
Sve ovo pričam na osnovu iskustva sa ms sql... Edit: Ispravio/dopunio bih prvi odgovor, ali ne mogu da editujem poruku, u svakom slučaju hvala na ispravci.
__________________
Važnije je biti ljubazan, nego biti u pravu. Poslednja izmena od BraMom : 30. 05. 2011. u 15:07. |
|
|