Logo pl.boatexistence.com

Czy wyraźny wpływ na wydajność?

Spisu treści:

Czy wyraźny wpływ na wydajność?
Czy wyraźny wpływ na wydajność?

Wideo: Czy wyraźny wpływ na wydajność?

Wideo: Czy wyraźny wpływ na wydajność?
Wideo: Jak przepustowość PCI-EXPRESS wpływa na WYDAJNOŚĆ? 2024, Może
Anonim

Tak, ponieważ użycie DISTINCT (czasami zgodnie z komentarzem) spowoduje, że wyniki zostaną uporządkowane Sortowanie setek rekordów zajmuje trochę czasu. Wypróbuj GROUP BY wszystkie swoje kolumny, może to czasami skłonić optymalizatora zapytań do wybrania wydajniejszego algorytmu (przynajmniej w przypadku Oracle zauważyłem znaczny wzrost wydajności).

Czy używanie wyrazu odrębnego jest złe?

Cóż, niewłaściwe użycie "distinct" nie tylko ukrywa prawdziwy problem (zduplikowane wpisy w tabelach, brak warunku w klauzuli on), jak omówiono powyżej, ale także obniża wydajność zapytań… Spowoduje to znaczny wzrost kosztu we/wy (odczytów logicznych) zapytania.

Czy odróżnienie spowalnia zapytanie?

Bardzo niewiele zapytań może działać szybciej w trybie SELECT DISTINCT, a bardzo niewiele będzie działać wolniej (ale nie znacząco wolniej) w trybie SELECT DISTINCT, ale w późniejszym przypadku jest to prawdopodobne że aplikacja może wymagać zbadania zduplikowanych spraw, co przenosi na aplikację obciążenie związane z wydajnością i złożonością.

Czy lepiej jest użyć odrębnego czy GRUPUJ WEDŁUG?

W MySQL, DISTINCT wydaje się trochę szybsze niż GROUP BY, jeśli Pole nie jest indeksowane. DISTINCT eliminuje tylko zduplikowane wiersze, ale GROUP BY wydaje się je dodatkowo sortować.

Dlaczego nie powinniśmy używać instrukcji differ w SQL?

Jeżeli opcja select different ma na celu 'naprawienie' problemu, prawdopodobnie otrzymasz w zamian słabą wydajność. GROUP BY umożliwia korzystanie z funkcji agregujących, takich jak AVG, MAX, MIN, SUM i COUNT. DISTINCT po prostu usuwa duplikaty.

Zalecana: