Короткие индексы
Заметка содержит несколько кейсов с индексами для больших таблиц.
Короткие индексы работают чуть быстрее, чем полные, но основное преимущество – компактность.
Высокоселективный индекс
Вы заметили, что к таблице часто обращаются запросы с отбором строк по конкретному высокоселективному значению.
Вам однозначно нужен индекс именно на это значение. Места такой индекс много не займет, так как строк мало.
В некоторых случаях несколько специализированных индексов будут предпочтительнее, чем один общий. В некоторых случаях можно создать общий индекс, исключив из него значения, которые использованы более чем в 30% строк.
Динамический индекс
Вы заметили, что к таблице часто обращаются запросы с отбором строк за небольшой интервал (последний день / неделя / месяц).
Если данные хотя бы примерно упорядочены по опорному полю (со значениями меток времени), то можно использовать BRIN индекс, он очень компактный.
Или можно использовать динамический индекс с ограничением значений по опорному полю.
Индекс нужно обновлять раз в день / неделю.
» Динамический индекс может быть более простой альтернативой контролю индексов отдельных партиций.