Повлияет ли разница на производительность?

Оглавление:

Повлияет ли разница на производительность?
Повлияет ли разница на производительность?

Видео: Повлияет ли разница на производительность?

Видео: Повлияет ли разница на производительность?
Видео: Влияет ли SSD на производительность и скорость в играх? Тесты и теория 2024, Ноябрь
Anonim

Да, так как использование DISTINCT (иногда согласно комментарию) приводит к результатам, которые будут упорядочены Сортировка сотен записей требует времени. Попробуйте GROUP BY для всех ваших столбцов, иногда это может привести к тому, что оптимизатор запросов выберет более эффективный алгоритм (по крайней мере, с Oracle я заметил значительный прирост производительности).

Плохо ли использовать Different?

Ну, неправильное использование "различных" не только скрывает реальную проблему (повторяющиеся записи в таблицах, отсутствие условия в предложении on), как обсуждалось выше, но также снижает производительность запросов… Это приведет к значительному увеличению стоимости ввода-вывода (логического чтения) запроса.

Различные замедляют запросы?

Очень немногие запросы могут выполняться быстрее в режиме SELECT DISTINCT, и очень немногие будут выполняться медленнее (но ненамного медленнее) в режиме SELECT DISTINCT, но для более позднего случая вполне вероятно что приложению может потребоваться изучить повторяющиеся случаи, что перекладывает бремя производительности и сложности на приложение.

Что лучше использовать: different или GROUP BY?

В MySQL DISTINCT выглядит немного быстрее, чем GROUP BY, если поле не проиндексировано. DISTINCT только удаляет повторяющиеся строки, но GROUP BY, похоже, дополнительно их сортирует.

Почему мы не должны использовать Different в SQL?

Если выбрать «отличное» для «исправить» проблему, вы, вероятно, получите взамен плохую производительность. GROUP BY позволяет использовать агрегатные функции, такие как AVG, MAX, MIN, SUM и COUNT. DISTINCT просто удаляет дубликаты.

Рекомендуемые: