С какого количества записей индексация имеет смысл?

Индексация в PostgreSQL (и в других реляционных базах данных) имеет смысл использовать, когда количество записей в таблице достаточно велико, чтобы эффективность поиска без индекса стала недостаточной. При этом оптимальное количество записей, когда индексация начинает давать выигрыш в производительности, может сильно различаться в зависимости от многих факторов, например:

1. **Объем данных**: Чем больше данных в таблице, тем более заметно улучшение производительности при использовании индексов. Однако нужно помнить, что индексирование тоже требует ресурсов, поэтому не стоит создавать индексы для маленьких таблиц.

2. **Частота запросов**: Если вы часто выполняете запросы, которые содержат условия WHERE, ORDER BY или JOIN, то использование индексов может значительно сократить время выполнения запроса.

3. **Типы запросов**: Некоторые типы запросов могут получить большую пользу от индексов, чем другие. Например, поиск по уникальному ключу будет значительно быстрее с индексом.

4. **Характеристики сервера**: Производительность индексации также зависит от аппаратных характеристик сервера, таких как объем оперативной памяти, скорость дисков, количество ядер процессора и т.д.

В целом, нет четкого числа записей, с которого следует создавать индекс, но как общее правило можно сказать, что если ваша таблица содержит несколько тысяч записей и вы часто выполняете запросы с условиями поиска, то создание индексов может быть оправданным. Однако перед созданием индексов стоит провести тестирование и оценку производительности, чтобы убедиться, что они действительно улучшают работу с базой данных.