Logo et.boatexistence.com

Kas see mõjutab jõudlust selgelt?

Sisukord:

Kas see mõjutab jõudlust selgelt?
Kas see mõjutab jõudlust selgelt?

Video: Kas see mõjutab jõudlust selgelt?

Video: Kas see mõjutab jõudlust selgelt?
Video: Kuidas mõjutab uni vaimset tervist? 2024, Mai
Anonim

Jah, kuna DISTINCT kasutamine põhjustab (mõnikord vastav alt kommentaarile) tulemuste järjestamist Sadade kirjete sortimine võtab aega. Proovige GROUP BY kõiki oma veerge, see võib mõnikord panna päringu optimeerija valima tõhusama algoritmi (vähem alt Oracle'i puhul märkasin märkimisväärset jõudluse kasvu).

Kas on halb kasutada eraldi?

Noh, sõna "eristav" ebaõige kasutamine ei varja mitte ainult tegelikku probleemi (tabelite topeltkirjed, tingimuste puudumine on-klauslis), nagu eespool kirjeldatud, vaid ka alandab päringu jõudlust… See toob kaasa päringu IO kulu (loogilised lugemised) märkimisväärselt suuremaks.

Kas eristus muudab päringu aeglasemaks?

Väga vähesed päringud võivad režiimis SELECT DISTINCT kiiremini toimida ja väga vähesed toimivad aeglasem alt (kuid mitte oluliselt aeglasem alt), kuid hilisemal juhul on see tõenäoline et rakendus võib-olla peab uurima dubleerivaid juhtumeid, mis nihutab jõudluse ja keerukuse koormuse rakendusele.

Kas parem on kasutada eristatavat või GROUP BY-d?

MySQL-is tundub DISTINCT natuke kiirem kui GROUP BY, kui väli pole indekseeritud. DISTINCT kõrvaldab ainult topeltread, kuid näib, et GROUP BY sorteerib need lisaks.

Miks me ei peaks SQL-is kasutama eristatavat?

Kui probleemi "parandamiseks" on valik eraldi, saate tõenäoliselt vastutasuks halva jõudluse. GROUP BY võimaldab kasutada koondfunktsioone, nagu AVG, MAX, MIN, SUM ja COUNT. DISTINCT lihts alt eemaldab duplikaadid.

Soovitan: