인덱스에 대하여
373
작성한 질문수 81
제로초님 MYSQL에 PK말고 인덱스라는게 있던데,
둘의 차이가 PK에서 중복허용, null허용 해준게 index 인것 맞나요?
PK와 index를 둘다거는것도 가능한지 의미있는지 궁금합니다.
사용예로 유저 email과 같은 where에 자주 사용되는것(null일수도있음)에 index걸어주면 되는걸까요?
답변 1
1
index는 검색 속도 빠르게 하는 것입니다. 중복, null 이런 것과 관련 없습니다.
pk나 unique는 고유값이라서 자동으로 인덱스 걸려 있습니다.
검색할 때 자주 검색하는 조건들에 index 걸어주시면 됩니다. 다만 여러 개에 동시에 걸 수도 있고 index 순서도 중요합니다. 그리고 index를 거는게 성능상 안 좋은 경우도 있습니다.
0
답변 감사합니다.
다만, index순서가 중요하다고 하셨는데 제가 이해한게 맞나 모르겠습니다.
한테이블에서 여러컬럼 인덱스 지정을 한다했을경우,
중복성이 낮은순 --> 높은순 으로 순서를 지정해야하고,
Typeorm에서 지정하는방법은

위 처럼 하면 순서대로 인덱스를 지정할수있는것인가요? (firstname, middlename, lastname순)
근데 인덱스 firstname, lastname은 중복되는데 뭔지모르겠네요...

이렇게 개별 컬럼에 인덱스를 하면 순서지정을 못할것같아서요.
제가 이해한게 맞나요??
0
네 복합 인덱스는 클래스 위에 다는 게 맞습니다. 다만 @Index간의 순서가 중요한 게 아니라
firstName, lastName이냐, lastName, firstName이냐 순서가 중요합니다.
firstName, lastName 인덱스인데 where lastName = 'cho' and firstName = 'zero'로 쿼리하면 인덱스 효과를 못봅니다.
0
아 그럼 where firstname ='zero' and lastname ='cho' 이런식으로 where을 2개로 찾을떄
@Index(['firstname'.'lastname'])을 클레스 위에써주는거고.
where firstname = 'zero'이런식으로 하나만 사용하여 찾을때는
그냥 컬럼위에 @Index() 써주면된다는거군요.
@Index(['firstname','lastname']) 이렇게 해놓고 where firstname ='zero' 이나 where lastname ='cho' 이런식으로 하나만 사용한 where문은 효과를 못보는건가요??
0
@Index(['firstname'.'lastname']) 이렇게 하면 참고로 where firstName = 'zero'만 할 때도 저 인덱스가 사용됩니다. where lastName = 'cho'는 안 됩니다.
0
감사합니다.
그럼 혹시 개별 컬럼 @Index()시에는 where lastName = 'cho' and firstName = 'zero' 이것도 효과를 볼수있나요?? (마지막 질문)
강의자료는 어디서 다운받나요?
0
146
4
질문 있습니다.
0
320
3
코드 편집기 확장 프로그램
0
220
2
(질문)비밀 저장소에 접근하기 위한 인증 정보는 로컬 .env에 저장하는지?
0
165
2
(질문)외부 저장소를 통한 환경변수 불러오기 비동기 질문
0
180
3
로그인을 해도 LoggedInGuard쪽에서 false값이 나옵니다.
0
163
2
로그인방법이 고민됩니다.
0
197
2
yarn seed 명령어 실행 시 데이터 삽입 안됨
0
305
4
yarn run db:create 시에 발생하는 데코레이터 오류
0
249
2
npm run db:create 시에 발생하는 decorating 오류
0
245
2
RxJS 디버깅 질문 있습니다.
0
201
3
CacheManager에 대해 질문 있습니다.
0
185
2
로깅은 어떻게 하는게 효율적일까요?
0
240
1
CORS 질문 있습니다.
0
428
2
쿠키 옵션에 대해서 질문 있습니다.
0
191
2
로그아웃 요청이 403 forbidden 에러가 나는데 왜그런걸까요??
0
458
1
401 unauthorized문제
0
306
1
가드의 장점에 대해서 질문이 있습니다.
0
234
1
로그 관리에 대해 질문 있습니다.
0
256
2
CORS 에러 질문 있습니다.
0
329
2
배포 환경 DB 연결 질문 있습니다.
0
418
2
socket io 미 연결 문제 (nest & flutter)
1
1170
3
no elements in sequence 에러 관해서 질문이 있습니다.
0
466
1
start:dev-backup으로 돌리면 핫 리로딩이 되요 정상인가요?
0
329
1





