Logo bs.boatexistence.com

Da li će različito utjecati na performanse?

Sadržaj:

Da li će različito utjecati na performanse?
Da li će različito utjecati na performanse?

Video: Da li će različito utjecati na performanse?

Video: Da li će različito utjecati na performanse?
Video: Джон Вуден: Разница между победой и успехом 2024, Maj
Anonim

Da, pošto će korištenje DISTINCT (ponekad prema komentaru) uzrokovati naručivanje rezultata Sortiranje stotina zapisa zahtijeva vrijeme. Isprobajte GROUP BY sve svoje kolone, to ponekad može dovesti do toga da optimizator upita odabere efikasniji algoritam (barem kod Oraclea sam primijetio značajno povećanje performansi).

Je li loše koristiti različito?

Pa, nepravilna upotreba "različitih" ne samo da skriva stvarni problem (duplikati unosa u tabelama, nedostatak uslova u klauzuli on) kao što je gore objašnjeno, već i smanjuje performanse upita… Ovo će značajno povećati IO cijenu (logičko čitanje) upita.

Da li razlikovanje usporava upit?

Vrlo malo upita može raditi brže u SELECT DISTINCT modu, a vrlo malo će raditi sporije (ali ne značajno sporije) u SELECT DISTINCT modu, ali za kasniji slučaj je vjerovatno da aplikacija možda treba da ispita duple slučajeve, što prebacuje teret performansi i složenosti na aplikaciju.

Da li je bolje koristiti različite ili GROUP BY?

U MySQL-u, DISTINCT izgleda malo brže od GROUP BY ako polje nije indeksirano. DISTINCT eliminira samo duple redove, ali čini se da ih GROUP BY dodatno sortira.

Zašto ne bismo trebali koristiti različit u SQL-u?

Ako je odabir različitog tu da 'popravi' problem onda ćete vjerovatno dobiti loš učinak zauzvrat. GROUP BY vam omogućava korištenje agregatnih funkcija, kao što su AVG, MAX, MIN, SUM i COUNT. DISTINCT samo uklanja duplikate.

Preporučuje se: