Офис Mail.ru, Москва, 21 июня 2018

Оптимизация SQL-запросов в Tarantool 2.0Туториалы

Программный комитет ещё не принял решения по этому докладу
Никита Петтик
Tarantool

Разработчик в Tarantool.

Тезисы

С выходом версии 2.0 в Tarantool появилась поддержка языка запросов SQL.

Как известно, языки запросов являются декларативными. Это означает, что пользователь "описывает” данные, которые хочет получить, но не может вмешиваться в структуру выполнения запроса.

Выбор алгоритма оптимального выполнения запроса в общем случае является полиномиально неразрешимой задачей. Однако, разнообразие эвристик позволяет получить приемлемую аппроксимацию.

В ходе доклада мы рассмотрим жизненный путь запроса: от парсинга строки до его непосредственного выполнения. Подробно остановимся на работе планировщика запросов, основанного как на cost-based-подходе, так и на некоторых rule-based-преобразованиях. Посмотрим на низкоуровневую виртуальную машину, обеспечивающую выполнение запроса. Разберем, какую статистику собирает планировщик, и как она используется. Объясним, как переписать запрос, чтобы оптимизатор мог выбрать более быстрый план выполнения. Рассмотрим существующие эвристики и ситуации, когда они применимы.

Tarantool

Другие доклады секции Туториалы