PostgreSQL: практические примеры оптимизации SQL-запросов / Иван Фролков (Postgres Professional)

preview_player
Показать описание
Приглашаем на конференцию Saint HighLoad++ 2024, которая пройдет 24 и 25 июня в Санкт-Петербурге!
--------
--------
Презентация и тезисы:

Довольно часто как адинистраторы, так и разработчики жалуются на низкую производительность приложений, работающих с базой данных, и нередко при этом ищут решения возникших проблем с помощью различных настроек как СУБД, так и операционной системы, пренебрегая при этом самым действенным способом - оптимизацией запросов к собственно БД. Тому, как понимать, где же узкие места, и как их можно попробовать избежать на примере PostgreSQL и посвящен этот доклад.
Рекомендации по теме
Комментарии
Автор

8:00 - общий принцип "Чем меньше..., тем лучше".
9:20 - проблема с индексами.
11:12 - сжатие текстовых uuid пережатием в соответствующий тип.
12:06 - главный принцип при проектировании БД!
12:57 - вопросы дублирования (разнесения) атомарной информации по разным уровням/таблицам.
14:12 - чем меньше индексов, тем лучше.
22:45 - Покрытие индексом.
30:26 - методы соединения.
39:00 - PostgreSQL собирает статистику при выполнении AUTOVACUUM.
43:25 - типовые проблемы клиентов.
44:19 - о чём говорят сложные запросы.
44:45 - ORM, distinct, LeftOuterJoin, LIMIT/offset
49:16 - что делать в большинстве случаев с тяжёлыми запросами.

eibyyeo
Автор

Классный доклад, и воды почти нет и ясно выражается, сам как не самый джуниорный разраб узнал новое!

dpolovinkin
Автор

Хороший доклад, несколько новых вещей узнал. Захотелось более подробные лекции Ивана послушать

spirridd
Автор

зачем вы убираете слайды? смысл постоянно смотреть на оратора как он дергается?

hqnmtfj
Автор

Как я понял из доклада, Постгрес хранит статистику индексов только по одной колонке? Тот же Firebird хранит статистику по любым индексам, сколько бы в них не было полей. И да, без пересчета статистики индексов и Firebird работает грустно. Значит это стчтемно для всех СУБД.

Anton_Simkov
Автор

чем меньше тем лучше... чем меньше тем лучше ... чем меньше тем лучше ... чем меньше тем лучше ППС

raxmonjonazimjanov
Автор

Отличный докладчик, но руки бы вырвать тому кто отвечает за то что показано на экране, 2 из 3х ракурсов не нужны, зачем убираете презентацию?

djikey
Автор

Что такое хинты и захинтовать базу? С таким раньше не сталкивался...😮

Anton_Simkov
Автор

13:18 join t3 в конце второй строки, наверное, вместо t2

highwayautolife
Автор

очень много воды, долго ждал информации полезной, выключил не дождавшись

IlyaShaforostoff
Автор

Кто нибудь поясните мне как сделать join с помощью одного из тех методов, что он называл? Там loop или hash... Насколько я знаю, ты просто пишешь запрос и указываешь там left loin или inner join и всё. А эти методы это про что?

Anton_Simkov
Автор

Лучше вы покажите как правильно построить рекурсивные запросы и получить нормальные результаты в котором на оракле это делается одним махом!

kasa
Автор

Конференция HighLoad, а докладчик рассказывает про Join. Это клуб JunuiorSQLDeveloper? Все ждал когда будет HighLoad

qwertEHOK
Автор

При всем уважении к автору, но он ошибся конференцией, и названием, лучше подходит "джоины для джунов"

jeyksmw
Автор

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

uravnitel_
Автор

ну понятно, докладчик чистый технарь, не для выступлений. Доклад сам пустой, хай лоадом и не пахнет. Первокурсник любого профильного ВУЗа такой доклад мог бы озвучить. Постулаты, который уже оскомину набили прозвучали. Ну и половина к оптимизации запросов не имеет отношения. Правильный выбор типов для данных - причем тут оптимизация запросов хз.

diktbnb
Автор

Доклад отличный, но автор то ли яктирует, то ли принимает антипсихотики и у него акатизия, но смотреть не его мельтешение трудно.

JohnDoe-fuje