-- Основные индексы для фильтрации CREATE INDEX CONCURRENTLY col1x_table3_col14 ON table3 (col14); CREATE INDEX CONCURRENTLY col1x_table2_col12_desc ON table2 (col12 DESC); CREATE INDEX CONCURRENTLY col1x_table2_recipient_sender ON table2 (col7, col6); -- Индексы для условий WHERE CREATE INDEX CONCURRENTLY col1x_badges_client_col13 ON badges_client (col13); -- Составные индексы для JOIN условий CREATE INDEX CONCURRENTLY col1x_table2_action_created ON table2 (col8, col12 DESC); -- Для больших таблиц CREATE INDEX CONCURRENTLY col1x_table1_col2 ON table1 (col2); CREATE INDEX CONCURRENTLY col1x_table3_col15 ON table3 (col15); CREATE INDEX CONCURRENTLY col1x_store_col153 ON store_currency (col13); 1. Устранение Parallel Seq Scan через целевые индексы 2. Разбиение сложного запроса на логические части с CTE 3. Оптимизация условий OR через EXISTS или UNION 4. Сокращение количества JOIN за счет предварительной фильтрации 5. Использование временных таблиц для повторяющихся подзапросов
Оптимизация SQL-запросов PostgreSQL : LEFT OUTER JOIN (пример)
26 сентября 202526 сен 2025
1
1 мин