Logo sk.boatexistence.com

Ovplyvní rozdielnosť výkonnosť?

Obsah:

Ovplyvní rozdielnosť výkonnosť?
Ovplyvní rozdielnosť výkonnosť?

Video: Ovplyvní rozdielnosť výkonnosť?

Video: Ovplyvní rozdielnosť výkonnosť?
Video: Affect vs Effect - English In A Minute 2024, Smieť
Anonim

Áno, pretože použitie DISTINCT (niekedy podľa komentára) spôsobí, že výsledky budú objednané Triedenie stoviek záznamov si vyžaduje čas. Skúste GROUP BY všetky svoje stĺpce, môže to niekedy viesť optimalizátora dotazov k výberu efektívnejšieho algoritmu (aspoň pri Oracle som zaznamenal výrazné zvýšenie výkonu).

Je zlé použiť odlišné?

Nesprávne použitie výrazu „výrazný“nielenže skrýva skutočný problém (duplicitné položky v tabuľkách, chýbajúca podmienka v klauzule on), ako je uvedené vyššie, ale aj degraduje výkon dotazu… To výrazne zvýši IO náklady (logické čítanie) dopytu.

Spomalí rozdiel dopyt?

Veľmi málo dopytov môže fungovať rýchlejšie v režime SELECT DISTINCT a veľmi málo z nich bude fungovať pomalšie (ale nie výrazne pomalšie) v režime SELECT DISTINCT, ale pre neskorší prípad je to pravdepodobné že aplikácia môže potrebovať preskúmať duplicitné prípady, čím sa zaťaženie výkonu a zložitosti presúva na aplikáciu.

Je lepšie použiť odlišné alebo GROUP BY?

V MySQL sa zdá, že DISTINCT o niečo rýchlejšie ako GROUP BY, ak pole nie je indexované. DISTINCT odstraňuje iba duplicitné riadky, ale zdá sa, že GROUP BY ich triedi navyše.

Prečo by sme nemali používať odlišné v SQL?

Ak je tu vybrať možnosť „odlišné“na „vyriešenie“problému, je pravdepodobné, že na oplátku dostanete zlý výkon. GROUP BY vám umožňuje používať súhrnné funkcie, ako sú AVG, MAX, MIN, SUM a COUNT. DISTINCT odstráni iba duplikáty.

Odporúča: