DBA для самых маленькихПредставьте, вы делаете стартап, запрогали бекенд, а потом бац: стало много данных и все грузится медленно. Что делать? Не переписывать же бекенд с питона на ГО....
Почти все проблемы до определенного масштаба можно решить просто добавив в нужное место индексы. Они ускорят SELECT, но чуть замедлят UPDATE/DELETE.
Вот мой алгоритм действий:
Найти SQL запрос, который нужно ускорить
Написать перед ним волшебные слова EXPLAIN ANALYSE
В полученной простыне найти слова
Seq Scan - они укажут на таблицу.столбец, куда стоит добавить индекс.
Эксперты-оптимизаторы баз данных получают много. Но кто они без EXPLAIN ANALYSE?