Оптимизация SQL-запроса на базе возможностей PostgreSQL, которая появилась давно, но не все о ней знаютБазы данных

Доклад отклонён
Павел Сарабеев
МИА Россия Сегодня

Занимается разработкой сервисов и сайтов. Оказывает консультации в сфере информационных технологий.

Тезисы

1. Введение.
1.1. Исходная пресуппозиция: когда объем данных превышает некоторое значение, использование традиционных SQL-запросов может привести к неоправданно высоким затратам ресурсов.
1.2. Главная проблема: в базе данных хранится большой объем данных, информация «размазана» по всему объему. Традиционный подход неэффективен, несмотря на максимально оптимизированные индексы и денормализацию данных.

2. Методологический анализ.
2.1. Проблема: традиционные запросы работают недостаточно эффективно.
Предметная область: дополнительные возможности SQL WITH RECURSIVE, UNNEST WITH ORDINALITY, JOIN LATERAL.
2.3.Тема: алгоритм пошагового перевода конкретного запроса к базе данных с целью увеличения производительности и снижения нагрузки.

3. Лид
Оптимизация SQL - дело тонкое, особенно, когда необходимо объединить две таблицы, где в одной 30 миллионов записей, а в другой - 60. И даже при наличии хорошего индекса один запрос выполняется за 3.716 ms, а другой - за 185914.487 ms. В такие моменты приходится применять «магию», которая давно появилась в PostgreSQL.
Изучив материалы доклада, слушатели смогут по-другому взглянуть на тяжелые запросы и значительно повысить их производительность.

4. Детали
Если вы хотите узнать, как ускорить выполнение запроса в хорошем случае в три раза, а в ужасном в 200000 раз. Если вы еще не слышали о WITH RECURSIVE, UNNEST WITH ORDINALITY, JOIN LATERAL, приходите на мой доклад, где вы узнаете, как, казалось бы, простой SQL-запрос превращается в 8 килобайт, но при этом работает значительно эффективнее.

- Пошаговый анализ проблемы.
- Выявление возможного пути решения.
- Какие есть возможности ускорить проблемный запрос.
- Использование нетрадиционного подхода к SQL-запросам.
- Итеративный подход к реализации.

И полный успех в финале.

Другие доклады секции Базы данных