Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

SELECT sa i bez LIMIT-a: vreme izvrshavanja

[es] :: PostgreSQL :: SELECT sa i bez LIMIT-a: vreme izvrshavanja

[ Pregleda: 2950 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

karas

Član broj: 5574
Poruke: 482
*.routotelecom.com.



+1 Profil

icon SELECT sa i bez LIMIT-a: vreme izvrshavanja10.10.2006. u 09:59 - pre 212 meseci
Da li npr.

Code:

SELECT * FROM temp;


i

Code:

SELECT * FROM temp LIMIT 10;


imaju isto vreme izvršavanja? Tj. hoće li Postgres prekinuti pretragu čim nađe 10 redova ili će proći kroz celu tabelu ali prikazati samo 10 redova?
Isto pitanje ako postoji ORDER bo indeksiranoj koloni.

Sveti Avgustin: "Dobar hrišćanin treba da se kloni matematičara i svih onih koji daju lažna proročanstva. Postoji opasnost da su matematičari već sklopili pakt sa Đavolom, da pomrače čovekov um i da ga okuju okovima pakla."
 
Odgovor na temu

chachka
Srđan Mijatov
Programer
BUS Computers
Kikinda

Član broj: 53780
Poruke: 576
*.dialup.neobee.net.

Sajt: www.baze-podataka.net


+4 Profil

icon Re: SELECT sa i bez LIMIT-a: vreme izvrshavanja10.10.2006. u 22:51 - pre 212 meseci
Ovo je lako praktično proveriti.

Upotreba LIMIT-a (čak i u varijaciji sa OFFSET-om) značajno skraćuje vreme fetch-ovanja redova tabele.
"The best code is no code at all."
- Zidar (ES član)
"Biggest obstacle to learning
SQL is unlearning procedural
programming."
- Joe
Celko
"Minimize code, maximize data."
- A. Neil Pappalardo
 
Odgovor na temu

karas

Član broj: 5574
Poruke: 482
*.routotelecom.com.



+1 Profil

icon Re: SELECT sa i bez LIMIT-a: vreme izvrshavanja11.10.2006. u 08:36 - pre 212 meseci
Ako pozivam takav upit iz aplikacije nekad mi se čini da nema razlike. Neki put i iz samog psql-a treba mu podosta vremena.
Ovo pitanje otuda što sam koristio LIMIT/OFFSET upite sa podupitima. Kako je podupit uvek isti razmišljao sam o keširanju tog podupita zbog ubrzanja. Ne znam da li je to moguće izvesti preko kursora ili kako već.
Sveti Avgustin: "Dobar hrišćanin treba da se kloni matematičara i svih onih koji daju lažna proročanstva. Postoji opasnost da su matematičari već sklopili pakt sa Đavolom, da pomrače čovekov um i da ga okuju okovima pakla."
 
Odgovor na temu

chachka
Srđan Mijatov
Programer
BUS Computers
Kikinda

Član broj: 53780
Poruke: 576
62.108.108.*

Sajt: www.baze-podataka.net


+4 Profil

icon Re: SELECT sa i bez LIMIT-a: vreme izvrshavanja11.10.2006. u 11:00 - pre 212 meseci
Citat:
... nekad mi se čini da nema razlike.

Razlika je uočljiva tek pri velikom odnosu broja članova nelimitiranog skupa i broja članova limitiranog skupa - recimo ako je taj odnos reda veličine 2, 3 i više.

Citat:
Kako je podupit uvek isti ...

Ovo tumačim da je podupit nezavisan od glavnog upita. U tom slučaju query planner pravi plan izvršavanja tako da se podupit izvršava samo jednom, te se ti rezultati nakon toga povezuju sa ostatkom upita. Dakle nema potrebe za keširanjem.

U slučaju da glavni upit izvršavaš više puta a da ti je pri svim tim izvršavanjima rezultat podupita uvek isti, onda možeš keširati rezultat podupita upotrebom privremenih tabela ili upotrebom običnih tabela. Tada se podupit svodi na prosto selektovanje svih članova pomoćne tabele. Odnosno:
Code:

SELECT *
  FROM neka_tabela
 WHERE neki_atribut IN (podupit);

se može transformisati u
Code:

CREATE TEMPORARY TABLE tt_podupit AS
  podupit;

SELECT *
  FROM neka_tabela
 WHERE neki_atribut IN (SELECT * FROM tt_podupit);

"The best code is no code at all."
- Zidar (ES član)
"Biggest obstacle to learning
SQL is unlearning procedural
programming."
- Joe
Celko
"Minimize code, maximize data."
- A. Neil Pappalardo
 
Odgovor na temu

karas

Član broj: 5574
Poruke: 482
*.routotelecom.com.



+1 Profil

icon Re: SELECT sa i bez LIMIT-a: vreme izvrshavanja11.10.2006. u 11:56 - pre 212 meseci
Da, da, ovo sa privremenom tabelom bi trebalo da radi posao - hvala.
Sveti Avgustin: "Dobar hrišćanin treba da se kloni matematičara i svih onih koji daju lažna proročanstva. Postoji opasnost da su matematičari već sklopili pakt sa Đavolom, da pomrače čovekov um i da ga okuju okovima pakla."
 
Odgovor na temu

[es] :: PostgreSQL :: SELECT sa i bez LIMIT-a: vreme izvrshavanja

[ Pregleda: 2950 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.