Logo no.boatexistence.com

Vil distinkt påvirke ytelsen?

Innholdsfortegnelse:

Vil distinkt påvirke ytelsen?
Vil distinkt påvirke ytelsen?

Video: Vil distinkt påvirke ytelsen?

Video: Vil distinkt påvirke ytelsen?
Video: Вязкость крови и ломкость сосудов. Как избежать катастрофы за 3 минуты в день 2024, Kan
Anonim

Ja, ettersom bruk av DISTINCT vil (noen ganger ifølge en kommentar) føre til at resultater bestilles Det tar tid å sortere hundrevis av poster. Prøv GROUP BY alle kolonnene dine, det kan noen ganger føre til at spørringsoptimereren velger en mer effektiv algoritme (i det minste med Oracle la jeg merke til betydelig ytelsesøkning).

Er det dårlig å bruke distinkt?

Vel, feil bruk av "distinkt" skjuler ikke bare det virkelige problemet (dupliserte oppføringer i tabellene, mangel på tilstand i on-klausulen) som diskutert ovenfor, men også forringer søkeytelsen… Dette vil føre til at IO-kostnadene (logiske avlesninger) for spørringen øker betydelig.

Gjør distinkt søket tregere?

Svært få spørringer kan gi raskere resultater i SELECT DISTINCT-modus, og very few vil utføre tregere (men ikke vesentlig langsommere) i SELECT DISTINCT-modus, men for det senere tilfellet er det sannsynlig at søknaden kan trenge å undersøke duplikatsakene, noe som flytter ytelses- og kompleksitetsbyrden til søknaden.

Er det bedre å bruke distinkt eller GROUP BY?

I MySQL virker DISTINCT litt raskere enn GROUP BY hvis feltet ikke er indeksert. DISTINCT eliminerer bare dupliserte rader, men GROUP BY ser ut til å sortere dem i tillegg.

Hvorfor bør vi ikke bruke distinkt i SQL?

Hvis select distinkt er der for å "fikse" et problem, vil du sannsynligvis få dårlig ytelse tilbake. GROUP BY lar deg bruke aggregerte funksjoner, som AVG, MAX, MIN, SUM og COUNT. DISTINCT fjerner bare duplikater.

Anbefalt: