Index란
DB 테이블에 대한 검색 성능을 향상시키기 위한 자료구조
책의 색인 즉 국어사전에 ㄱ,ㄴ,ㄷ... 등으로 측면에 파져있는 홈같은 것이다
인덱스는 Insert Update Delete 의 효율은 별로 않좋다
why? 2개의 테이블을 작업해야 하기 때문
인덱스는 많으면 무조건 좋다? X
DB에서 성능문제가 발생했을때 가장 일반적인 접근은 index추가
끊임없이 index를 생성?-> 전체적인 DB성능부하
인덱스 생성 고민많이해야함
인덱스 생성 전략
조건절에 자주 등장하는 컬럼
항상 = 으로 비교되는 컬럼
중복되는 데이터가 최소한인 컬럼 (분포도가 좋은 컬럼)
ORDER BY 절에서 자주 사용되는 컬럼
JOIN 조건으로 자주 사용되는 컬럼
우리프로젝트에서 Place에 해당하는것 같다
MySQL은 BTree구조