MySQL & Prisma Indexing

STEVELOPER·2022년 9월 23일
0

prisma

목록 보기
1/1

기존 MySQL 에서는 indexing 을 통해서 "Divide & Conquer" 방식으로 쿼리 시간을 단축시킬 수 있었다.
프로젝트를 진행하는 도중 (최대한 안하도록 노력했음에도 불구하고) 두 테이블을 join 을 통해 출력해야하는 상황이 발생했다.
indexing 이 지정되지 않은 필드끼리 비교를 하려니 쿼리 시간이 너무 오래 걸려서
mysql 을 직접 조작하지 않고 prisma 의 schema.prisma 파일을 조작하여 indexing 을 할 수 있는지 궁금하여 doc 을 찾아보았다.

기존 indexing 에 대한 개념도 제대로 잡혀있지 않아 이번 기회에 찾아보게 되었는데
prisma 도 다행히(혹은 당연하게도) 지원하고 있었다.

MySQL 에서는 하기 코드와 같이 @@index 도 지원하며, @id, @@id, @unique, @@unique 도 지원한다.

//schema.prisma
model User {
	id Int @id @default(autoincrement())
    name String
    email String
    createdAt Datetime @default(now())
    
    @@index([name])
}

REFS:

profile
JavaScript, Node.js, Express, React, React Native, GraphQL, Apollo, Prisma, MySQL

0개의 댓글