Databáze > Obecné

WHERE - spôsob vyhodnotenia podmienka.

(1/1)

Stanislav Hruška:
Vyhodnocujú sa podmienky postupne zľava doprava, alebo vždy celý výraz?
Príklad. V každej tabuľke mám hodnotu FKFOCS = FOCS.IDFOCS (SVB, alebo jednoduchšie bytovka). Oplatí sa robiť

--- Kód: ---SELECT *
FROM myTable
WHERE FKFOCS = 10 and podmienka2

--- Konec kódu ---
alebo je to rovnako rýchle ako

--- Kód: ---SELECT *
FROM myTable
WHERE podmienka2
--- Konec kódu ---

Radek Červinka:
Tak si to zkus spustit v nejakem nastroji, ten ti ukaze jak dlouho to zpracovaval. Resp. si muzes zkusit zobrazit plan vyhodnocovani SQL a ten ti rekne Cost jednotlivych operaci.

Podle mne to u jednoduchych SQL nebude mit vyznam. Vetsina lepsich SQL serveru ma optimizer, ktery optimalizuje provadeni SQL dotazu, tak aby vysledek byl co nejrychlejsi - pro zobrazeni slouzi prave ten plan

Stanislav Hruška:

--- Citace ---Podle mne to u jednoduchych SQL
--- Konce citace ---
Keby som vedel ktoré sú tie zložité :)

--- Citace ---Tak si to zkus spustit v nejakem nastroji
--- Konce citace ---
Teraz mám veľmi málo údajov. Buď si urobím skúšobnú DB, alebo neskôr.
Ale zariadim sa podľa toho.

geby:
Jakekoliv rady "co je lepsi" jsou zavisle na pouzite databazi. Pro kazdou z nich to muze byt ruzne!

A co je jednodusi a co slozitejsi databaze? No ja nevim, ale i ten superjednoduchy SQLite ma query optimizer! A naopak, i u tech dospelych databazi, jako je Firebird a Oracle se vyplati kouknout se na Query Plan a pripadne dotaz rucne optimalizovat. Nic neni samospasne!

Navigace

[0] Seznam témat

Přejít na plnou verzi