- TypeORM 教程
- TypeORM - 主页
- TypeORM - 简介
- TypeORM - 安装
- TypeORM - 创建一个简单项目
- TypeORM - 连接 API
- TypeORM - 实体
- TypeORM - 关系
- TypeORM - 与仓库一起使用
- TypeORM - 与实体管理器一起使用
- TypeORM - 查询生成器
- TypeORM - 查询操作
- TypeORM - 事务
- TypeORM - 索引
- TypeORM - 实体侦听器和日志记录
- 使用 JavaScript 的 TypeORM
- TypeORM - 使用 MongoDB
- 使用 Express 的 TypeORM
- TypeORM - 迁移
- TypeORM - 使用 CLI
- TypeORM 有用资源
- TypeORM - 快速指南
- TypeORM - 有用资源
- TypeORM - 讨论
TypeORM - 索引
总体而言,索引是一种通过优化数据存储来优化数据库性能的过程。它用于快速查找和访问数据库中的数据。本节说明如何在 TypeORM 中使用索引。索引分为不同类型。我们来逐一详细了解。
列索引
我们可以使用以下方法为特定列创建索引@Index。考虑一个示例客户实体,如下所示,并且为firstName列定义了索引,
import {Entity, PrimaryGeneratedColumn, Column} from "typeorm"; @Entity() export class Student { @PrimaryGeneratedColumn() id: number; @Index() @Column() firstName: string; @Column() lastName: string; @Column() age: number; @Column() address: string; }
@Index还允许为索引指定一个名称 −
@Index("Name-idx") @Column() firstName: string;
唯一索引
要在列中指定唯一约束,请使用以下属性 −
{ unique: true }
例如,以下代码用于为 Name 列指定唯一索引 −
@Index({ unique: true }) @Column() firstName: string;
要在多个列上应用索引,我们可以在 @Entity() 之后直接指定它。示例代码如下 −
@Entity() @Index(["firstName", "lastName"]) @Index(["firstName", "lastName"], { unique: true })
空间索引
空间索引允许访问空间对象。MySQL 和 PostgreSQL 支持空间索引。要在列中启用空间索引,请添加以下属性 −
{ spatial: true }
空间类型有多种子类型,例如几何、点、线串、多边形等。例如,如果要在列中添加点空间类型,请使用以下代码 −
@Column("point") @Index({ spatial: true }) point: string;
禁用同步
要禁用同步,请在装饰器@Index上使用以下选项 −
{ synchronize: false }
广告