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

Индекс колонки в Nest

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

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

Покажем на примере постов:

import { Column, Entity, Index, PrimaryGeneratedColumn } from 'typeorm'; @Entity() export class Post { @PrimaryGeneratedColumn() id: number; @Index() @Column() title: string; }

Таблицу связывают с модулем темы:

import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; import { Post } from '../post.entity.js'; @Module({ imports: [TypeOrmModule.forFeature([Post])], }) export class PostsModule {}

Корень настраивает соединение и импорт модуля с сущностью:

import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; import { PostsModule } from './posts/posts.module.js'; @Module({ imports: [ TypeOrmModule.forRoot({ type: 'postgres', host: 'localhost', port: 5432, username: 'postgres', password: 'postgres', database: 'site', autoLoadEntities: true, synchronize: true, }), PostsModule, ], }) export class AppModule {}

Добавьте в Worker текстовое поле с индексом по одной колонке, оформите WorkersModule и настройте базу с автоматическим созданием таблицы при старте.

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