Logo sq.boatexistence.com

A do të ndikojë dallimi në performancë?

Përmbajtje:

A do të ndikojë dallimi në performancë?
A do të ndikojë dallimi në performancë?

Video: A do të ndikojë dallimi në performancë?

Video: A do të ndikojë dallimi në performancë?
Video: Tv Klan - Në Nëntor hiqen vulat për hyrje - dalje në BE 2024, Mund
Anonim

Po, pasi përdorimi i DISTINCT (nganjëherë sipas një komenti) do të bëjë që rezultatet të renditen Renditja e qindra regjistrimeve kërkon kohë. Provoni GROUP BY BY të gjitha kolonat tuaja, ndonjëherë mund të çojë optimizuesin e pyetjeve të zgjedhë një algoritëm më efikas (të paktën me Oracle vura re një rritje të konsiderueshme të performancës).

A është keq të përdorësh distinct?

Epo, përdorimi jo i duhur i "të dallueshme" jo vetëm që fsheh problemin e vërtetë (hyrjet e kopjuara në tabela, mungesa e kushtit në klauzolën on) siç u diskutua më lart, por gjithashtu degradon performancën e pyetjes… Kjo do të sjellë që kostoja IO (leximet logjike) të pyetjes të rritet ndjeshëm.

A e bën të veçantë pyetjen më të ngad altë?

Shumë pak pyetje mund të performojnë më shpejt në modalitetin SELECT DISTINCT, dhe shumë pak do të performojnë më ngadalë (por jo dukshëm më ngadalë) në modalitetin SELECT DISTINCT, por për rastin e mëvonshëm ka të ngjarë se aplikacioni mund të ketë nevojë të shqyrtojë rastet e dyfishta, gjë që e zhvendos ngarkesën e performancës dhe kompleksitetit tek aplikacioni.

A është më mirë të përdorni të veçantë apo GRUPI BY?

Në MySQL, DISTINCT duket pak më i shpejtë se GROUP BY nëse Fusha nuk është e indeksuar. DISTINCT eliminon vetëm rreshtat e kopjuar, por GROUP BY duket se i rendit ato gjithashtu.

Pse nuk duhet të përdorim distinct në SQL?

Nëse ekziston një përzgjedhje e veçantë për të 'rregulluar' një problem, atëherë ka të ngjarë të merrni një performancë të keqe në këmbim. GROUP BY ju lejon të përdorni funksione të përmbledhura, si AVG, MAX, MIN, SUM dhe COUNT. DISTINCT thjesht heq dublikatat.

Recommended: