× - 코드 및 콘솔 화면은 [ code ] 내용 [ /code ] 태그 처리하여 주세요.
- 강조하고자 하는 내용은 [ b ] 내용 [ /b ] 태그 처리하여 주세요.

MariaDB 인덱스 질문

  • dolphin
    (돌고래)
  • dolphin's Avatar 이 글의 작성자
  • Offline
  • ★★ Staff ★★
  • ★★ Staff ★★
더보기
25 May 2016 19:40 #647 작성자: dolphin
dolphin 님의 글: MariaDB 인덱스 질문
MariaDB에서 인덱스를 만들어서 쿼리를 최적화 하고 싶은데요,
어떤 원리로 인덱스를 걸어야 하는지 궁금합니다.
예를 들어 아래와 같은 쿼리가 있으면 인덱스는 어떤 속성에 걸어야 할까요?

SELECT c.date, avg(c.value) AS value
FROM tb_test c, tb_join b
WHERE c.id = b.id
AND c.name = 'somename'
AND c.attribute = 'someattr'
AND c.type = 'sometype'
GROUP BY c.date
ORDER BY c.date desc limit 30
더보기
12 Jun 2016 23:03 #762 작성자: durecat
durecat 님의 답글: MariaDB 인덱스 질문
안녕하세요.
제가 MariaDB를 사용해 보지는 않았지만,
일반적인 인덱스 생성 방법을 생각해서 답변 드리려 하는데요.

복합인덱스 생성 방법에 대한 것은 이 글 참고하시면 더 좋을 것 같구요 ^^;
www.gurubee.net/m/lecture/2229

주신 쿼리를 봤을 때 인덱스는 2개 필요 할것 같습니다.
tb_test: name, attribute, type (복합 인덱스)
tb_join: id (Primary key index, 컬럼명이 id라서 primary key로 가정함)

tb_test의 세개 컬럼이 = 연산자로 where절에 사용되고 있기 때문 이구요,
컬럼 명만 봤을 때는 name의 분포도가 더 좋은 듯 해서 제일 앞에 두었어요.
(attribute와 type을 생각했을 때도 마찬가지로)

도움이 되었길 바랍니다.
좋아요를 누른 살쾡이: dolphin
Time to create page: 0.191 seconds
Powered by Kunena Forum