Logo da.boatexistence.com

Vil særskilt påvirke ydeevnen?

Indholdsfortegnelse:

Vil særskilt påvirke ydeevnen?
Vil særskilt påvirke ydeevnen?

Video: Vil særskilt påvirke ydeevnen?

Video: Vil særskilt påvirke ydeevnen?
Video: Web Performance: Leveraging the Metrics that Most Affect User Experience (Google I/O '17) 2024, Kan
Anonim

Ja, da brug af DISTINCT (nogle gange ifølge en kommentar) vil medføre, at resultater bestilles Det tager tid at sortere hundredvis af poster. Prøv GROUP BY alle dine kolonner. Det kan nogle gange få forespørgselsoptimeringsværktøjet til at vælge en mere effektiv algoritme (i det mindste med Oracle bemærkede jeg en betydelig præstationsforøgelse).

Er det dårligt at bruge distinkt?

Tja, ukorrekt brug af "distinct" skjuler ikke kun det virkelige problem (duplikerede indtastninger i tabellerne, mangel på betingelse i on-klausulen) som diskuteret ovenfor, men også forringer forespørgselsydeevne… Dette vil medføre, at IO-omkostningerne (logiske læsninger) af forespørgslen stiger betydeligt.

Gør distinkt forespørgslen langsommere?

Meget få forespørgsler kan udføre hurtigere i SELECT DISTINCT-tilstand, og very few vil udføre langsommere (men ikke væsentligt langsommere) i SELECT DISTINCT-tilstand, men i det senere tilfælde er det sandsynligt at applikationen muligvis skal undersøge de duplikerede sager, hvilket flytter ydeevne- og kompleksitetsbyrden til applikationen.

Er det bedre at bruge distinct eller GROUP BY?

I MySQL virker DISTINCT en smule hurtigere end GROUP BY, hvis feltet ikke er indekseret. DISTINCT eliminerer kun duplikerede rækker, men GROUP BY ser ud til at sortere dem derudover.

Hvorfor skal vi ikke bruge distinct i SQL?

Hvis select distinct er der for at 'løse' et problem, vil du sandsynligvis få en dårlig præstation til gengæld. GROUP BY lader dig bruge aggregerede funktioner, såsom AVG, MAX, MIN, SUM og COUNT. DISTINCT fjerner bare dubletter.

Anbefalede: