База по оптимизации PostgreSQL: схема, индексы, чтение EXPLAIN, методы доступа и соединения, тюнинг

preview_player
Показать описание
Запись выступления в РТУ МИРЭА

0:00 Стартуем
1:18 Как живёт СУБД в молодых веб-приложениях?
4:50 Но есть другой путь
8:50 Быстрые SQL-запросы очищают природу
11:28 А мы щас индекс-то как накатим и как всё взлетит!
12:35 Как PostgreSQL хранит данные?
14:10 Коварные широкие таблицы
19:22 Бойтесь JOIN'ов (нет)
21:40 Коварный SELECT * FROM
24:37 Великий и могучий и страшный EXPLAIN
29:44 Что за индексы такие?
33:12 Кластеризация таблиц
34:20 План выполнения запроса, выводимый EXPLAIN
38:50 Методы доступа к данным: Seq Scan, Index Scan, Bitmap Heap Scan, Index Only Scan
42:12 Читаем EXPLAIN для Seq Scan
46:20 Откуда берётся стоимость выполнения узла в плане запроса?
50:31 Индексное сканирование Index Scan
52:20 Селективность или когда индекс не будет использоваться?
55:38 Bitmap Heap Scan
56:53 Index Only Scan, покрывающие индексы
58:34 Итог по методам доступа к данным
59:15 Способы соединения таблиц — Nested loop, Hash Join, Merge join
1:02:42 Как играться с методами доступа и способами соединения таблиц?
1:03:50 Теперь ты можешь читать EXPLAIN!
1:04:52 На что обращать внимание в плане запроса?
1:07:51 Не навязывайте свой императивный план выполнения
1:08:08 Статистика по данным
1:09:12 Более умные индексы
1:11:14 Короткие и длинные запросы
1:17:27 Как найти медленные запросы?
1:17:54 Какие настройки можно подкрутить?
1:20:20 Материализованные вьюшки, кэш в приложении, секционирование
1:22:25 Что можно почитать и посмотреть по теме?
1:23:50 Вопросы
2:04:45 Комментарии от Дмитрия Гаврина — DBA PostgreSQL в Т-Банк

Рекомендации по теме
Комментарии
Автор

На моём авторском курсе «Хардкорная веб-разработка» постгресу посвящено две большие главы. Первая глава по SQL в реализации PostgreSQL — 61 урок общей продолжительностью 9.5 часов, 182 задачи. Вторая глава об оптимизации запросов и настроек — 25 уроков на 5 часов контента и ещё 52 задачи. Приходите прокачиваться: course.to.digital.

tdigital
Автор

Благодарю, многое прояснилось! Хотелось бы живой пример "плохого запроса" и как из него при помощи explain сделать хороший и сравнить результаты.

sudmal
Автор

Спасибо, отличная лекция!
Надеюсь, в следующий раз будет намного больше зрителей в зале

hurricane-rus
Автор

Классно рассказываешь, прям молодец! Здоровья тебе и побольше выступлений👍👍

vvvarvfx
Автор

Я вообще занимаюсь областью безопасности, но мне было просто интересно смотреть ) Продолжай выступать с лекциями в университетах!! Важно, чтобы в этой среде находились такие эксперты

erickostandyan
Автор

Работаю с oracle уже 9 месяцев понимаю что автор говорит прям нужную базу. Разница конечно определенная есть с Postgres, но сути это не меняет. Респект 👍🏻

yaroslavandreyev
Автор

Нифига себе подгон! Еще не смотрел, но сразу лайк. Спасибо!!

SeRGKIM
Автор

Очень интересно! Спасибо за публикацию лекции!

by_yurik
Автор

Для лучшего понимания читайте Домбровская, Новиков, Бейликова Оптимизация запросов в postgresql. Отличная книга, читается на одном дыхании.

АнатолийПостнов-вх
Автор

Идеальный формат подачи, понятно, легко, интересно и по делу)

animanoir
Автор

Терпение и труд! У! А! Мастерами Pg не рождаются, мастерами PG становятся )

kawaikaino
Автор

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

Jasha
Автор

Это мега полезное видео!

Наконец-то я понял что это за "Попугаи" в cost.


Спасибо большое!

TeppopucT
Автор

вот такого я не ожидал, вот это контентище) спасибо!

snatvb
Автор

Начал смотрел видосы по Postgres, думал ютюб подкинул в рекомендации старый видос, а он вышел 11 часов назад)

QRpeach
Автор

О, я очень удивлена тому, насколько это оказалось полезно и интересно (что вообще дичь в случае меня и sql)

ponypony
Автор

Работаю на бэке второй месяц. Сейчас таска по оптимизации запросов при загрузке некоторых страниц. Стоит постгрес. Пришел с работы, а тут это. Очень своевременно. Благодарю за полезную информацию!

podjigalgoroda
Автор

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

rockkley
Автор

Спасибо за доклад.
Слайды очень мелкие для просмотра с телефона, пришлось пожертвовать оратором и смотреть с увеличением.

boleonv
Автор

1:06:08 вот тут прямо чувствуется какое-то противоречие: я понял так, что не надо ковырять постгрес на предмет оптимизации запроса ибо он лучше тебя знает как данные тащить, но при этом, ты должен понимать, как он работает, чтобы сразу составить правильный запрос.

alekseyeject