- 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 }
廣告