РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗jsnsSpIxInr 64 of 201 menu
◀ ▶

Введение в индексы в Nest

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

Индекс хранит упорядоченные значения выбранных колонок отдельно от основной кучи данных. Планировщик PostgreSQL может найти нужные строки по индексу и не сканировать всю таблицу. Индекс ускоряет чтение, но замедляет вставку и правку: каждое новое значение нужно дописать и в таблицу, и в индекс.

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

Дальше разберём индекс одной колонки, общий индекс по двум полям, уникальный составной индекс и создание индекса в миграции при выключенной автосинхронизации. На сайте с материалами те же приёмы ускоряют типовые фильтры без ручного SQL в сервисах Nest.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить