인덱스를 적용시킨다고 무조건 좋은 것은 절대 아니다!
- 인덱스 필드 가공
인덱스 필드를 가공하게 되면 탐색을 할 수 없음
또는 인덱스에 저장된 타입과 다르다면 당연히 탐색할 수 없게 됨
- 복합인덱스
선두 컬럼을 어떤 것을 정할지가 중요하다. 왜냐하면 선두 컬럼이 인덱스를 탈 수 없는 것을 선택하면, 인덱스가 적용되지 못하기 때문
- 하나의 쿼리에는 하나의 인덱스
하나의 쿼리에는 하나의 인덱스만 탄다. 여러 인덱스 테이블을 동시에 탐색하지 않음.
그렇기에 WHERE , ORDER BY , GROUP BY 혼합해서 사용할 때에는 인덱스를 잘 고려해야함
- 의도대로 인덱스가 동작하지 않을 수 있음. explain으로 확인!
- 인덱스도 비용이다. 쓰기를 희생하고 조회를 얻는 것!
- 꼭 인덱스로만 해결할 수 있는 문제인가?
- 식별할 수 있는 칼럼값들이 있는 것들 기준으로 잡는게 좋다.