Spec-Zone.ru › MariaDB

Карта оптимизаций подзапросов

Ниже приведена карта, отображающая все типы подзапросов, разрешённые в языке SQL, и стратегии оптимизатора, доступные для их обработки.

  • Незакрашенные области представляют различные типы подзапросов, например:
    • Подзапросы, имеющие форму x IN (SELECT ...)
    • Подзапросы, находящиеся в FROM-оператор
    • .. и так далее
  • Размер каждой незакрашенной области примерно соответствует важности (т.е. частоте использования) этого типа подзапроса. Например, x IN (SELECT ...) запросы являются наиболее важными, а EXISTS (SELECT ...) — относительно неважными.
  • Закрашенные области представляют оптимизации/стратегии выполнения, применяемые для обработки различных типов подзапросов.
  • Цвет оптимизации указывает, в какой версии MySQL/MariaDB она была доступна (см. легенду ниже).

subquery-map-2013

Некоторые вещи не отображены на карте:

  • MariaDB не оценивает дорогостоящие подзапросы при оптимизации (это означает, что EXPLAIN всегда быстрый). MySQL 5.6 добился прогресса в этом отношении, но его оптимизатор по-прежнему будет оценивать определенные типы подзапросов (например, подзапросы скалярного контекста, используемые в предикатах диапазона).

Ссылки на страницы об отдельных оптимизациях:

  • IN->EXISTS
  • Кэширование подзапросов
  • Оптимизации полусоединений
    • Вытягивание таблицы
    • FirstMatch
    • Материализация, +сканирование, +поиск
    • LooseScan
    • Стратегия выполнения DuplicateWeedout
  • Оптимизации, не связанные с полусоединениями Материализация (включая учитывающие NULL и частичное соответствие)
  • Оптимизации таблиц с производными
    • Слияние таблиц с производными
    • Таблица с производными и ключами

См. также

  • Оптимизации подзапросов в MariaDB 5.3
Содержимое, воспроизведенное на этом сайте, является собственностью соответствующих владельцев, и это содержимое не предварительно проверяется MariaDB. Мнения, информация и мнения, выраженные в этом содержимом, не обязательно отражают точку зрения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/subquery-optimizations-map/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API