Afectarà el rendiment diferent?

Taula de continguts:

Afectarà el rendiment diferent?
Afectarà el rendiment diferent?

Vídeo: Afectarà el rendiment diferent?

Vídeo: Afectarà el rendiment diferent?
Vídeo: ¿Bajar el manillar afecta el rendimiento? | #RondaGCN 48 2024, De novembre
Anonim

Sí, ja que utilitzar DISTINCT (de vegades segons un comentari) provocarà que s'ordenin els resultats L'ordenació de centenars de registres requereix temps. Proveu GROUP BY totes les vostres columnes, de vegades pot portar l'optimitzador de consultes a triar un algorisme més eficient (almenys amb Oracle vaig notar un augment de rendiment important).

És dolent utilitzar diferents?

Bé, l'ús inadequat de "distint" no només amaga el problema real (entrades duplicades a les taules, manca de condició a la clàusula on) com s'ha comentat anteriorment, sinó que també degrada el rendiment de la consulta … Això farà que el cost d'IO (lectures lògiques) de la consulta augmenti significativament.

La diferència fa que la consulta sigui més lenta?

És possible que molt poques consultes funcionin més ràpid en el mode SELECT DISTINCT i molt poques tindran un rendiment més lent (però no molt més lent) en el mode SELECT DISTINCT, però en el cas posterior és probable que que és possible que l'aplicació hagi d'examinar els casos duplicats, cosa que trasllada la càrrega de rendiment i complexitat a l'aplicació.

És millor utilitzar diferents o GROUP BY?

A MySQL, DISTINCT sembla una mica més ràpid que GROUP BY si el camp no està indexat. DISTINCT només elimina les files duplicades, però sembla que GROUP BY les ordena a més.

Per què no hem d'utilitzar distint a SQL?

Si seleccioneu distint hi ha per "arreglar" un problema, és probable que obtingueu un mal rendiment a canvi. GROUP BY us permet utilitzar funcions agregades, com ara AVG, MAX, MIN, SUM i COUNT. DISTINCT només elimina els duplicats.

Recomanat: