앱)쿼리 튜닝 팁

Posted by HULIA(휴리아)
2017. 10. 17. 15:45 백엔드개발/데이터베이스
기본적으로 튜닝을 할때 index를 이용한다

index는 PK, index등이 대표적이며
index된 컬럼은 기본적으로 정렬된 데이터라고 보면 된다

그래서 제대로 된 index를 이용하기 위해서는 index를 잘 이용할 수 있어야 한다

기본적으로 index를 잘 사용했는지 안했는지 판단하는 방법을 실행계획(execution plan)을 해보면 된다
mysql에는 explain을 쓰면 나온다
여기에 type에 all이 나오면 full scan을 하는 것이다

index 사용규칙
1. where절
왼쪽 컬럼은 그대로 써야 한다
upper라던지 컬럼이름에 편집을 가하면 index가 제대로 이용되지 않는다

오른쪽 컬럼은 수정해도 된다
허나 like 검색을 할 경우 앞에 %를 쓰게 되면 index가 제대로 이용되지 않는다
뒤에 %는 유효하다

2. index를 여러컬럼을 걸수도 있는데 그때는 가장 왼쪽에 선언된 컬럼이 가장 유효하다
그리고 where절에 쓸때도 index가 걸려있는 순서대로 이용해야 한다

3. join을 하더라도 테이블 자체에 10% 내외로 데이터를 추출하지 못한다면 index가 의마가 없다 ex) del_fg 같은 경우등

4. index연산자
=, between and 를 이용해야 한다

5. where 절에 or사용시는
where절에 and는 조건의 인덱스를 사용할수 있지만 or는 인덱스를 이용할수 없다 유의 해야함

인덱스는 정렬개념
플랜은 통계개념이다