| name | prisma-indexing |
| description | null |
Prisma Indexing
Category: prisma · Status: 🟢 Active
When to use
Khi thêm @@index/@unique cho cột hay dùng để query/sort/join.
Steps
- Đánh index cho cột xuất hiện trong
where, orderBy, hoặc khóa ngoại join.
- Dùng
@unique/@@unique cho ràng buộc duy nhất (email, slug, cặp cột).
- Composite index khi query lọc nhiều cột cùng lúc; thứ tự cột theo độ chọn lọc.
- Đừng đánh index tràn lan: mỗi index tốn ghi + bộ nhớ, chỉ thêm khi có truy vấn thật.
- Kiểm chứng bằng
EXPLAIN nếu nghi query chậm.
Template
model Post {
id String @id @default(cuid())
slug String @unique
authorId String
status String
@@index([authorId])
@@index([status, createdAt])
@@unique([authorId, slug])
}
Example
Good: index cho FK + cột filter/sort thường dùng, composite đúng thứ tự, unique cho slug.
Avoid: index mọi cột, thiếu index trên FK gây full scan, unique nhầm chỗ.
Checklist