Заметки и ссылки на будущее, чтобы изучить когда будет время.
Разместить рекламу: @tproger_sales_bot
Правила общения: https://tprg.ru/rules
Другие каналы: @tproger_channels
Другие наши проекты: https://tprg.ru/med
Post #2842
621

Почему запросы на staging укладываются в 12 мс, а в продакшене встают колом
Обстоятельный разбор семи ошибок индексации, которые убивают производительность SaaS на корню. Казалось бы, индексы, вроде, базовая тема, но главный подвох в другом: проблема не в их отсутствии, а в неправильных индексах.
В материале: от параноидального создания индексов «на всякий случай» до игнорирования раздутия и мультитенантных схем. Каждый INSERT, UPDATE и DELETE обновляет все индексы таблицы, а индекс на колонке с низкой селективностью бесполезен без частичного (partial) условия. Внешние ключи в PostgreSQL не индексируются автоматически, а без EXPLAIN ANALYZE индексы создаются вслепую.
Сохранить стоит разработчикам бэкенда и администраторам БД с production под нагрузкой. Остальным достаточно знать, что индексы — налог на запись, а не волшебная ускорялка.
Читать разбор на Tproger
Обстоятельный разбор семи ошибок индексации, которые убивают производительность SaaS на корню. Казалось бы, индексы, вроде, базовая тема, но главный подвох в другом: проблема не в их отсутствии, а в неправильных индексах.
В материале: от параноидального создания индексов «на всякий случай» до игнорирования раздутия и мультитенантных схем. Каждый INSERT, UPDATE и DELETE обновляет все индексы таблицы, а индекс на колонке с низкой селективностью бесполезен без частичного (partial) условия. Внешние ключи в PostgreSQL не индексируются автоматически, а без EXPLAIN ANALYZE индексы создаются вслепую.
Сохранить стоит разработчикам бэкенда и администраторам БД с production под нагрузкой. Остальным достаточно знать, что индексы — налог на запись, а не волшебная ускорялка.
Читать разбор на Tproger
- 👍 1


