11
저는 최근에 커다란 프로젝트를 완전히 다시 작성했습니다. 그렇게하면서, 수많은 무작위 MySQL 쿼리를 통합했습니다. 앞의 코드베이스를 개발하는 과정에서 변덕에 대한 인덱스를 만들었고 더 이상 사용되지 않는 큰 숫자가 있음을 기억합니다.MySQL 데이터베이스에서 사용하지 않는 색인을 어떻게 식별합니까?
어떤 인덱스가 사용되고 있는지를 결정하기 위해 MySQL의 인덱스 사용을 모니터링하는 방법이 있습니까?
+1 - Percona 패치도 권장합니다. 나는 그 (것)들에 접근이 없었기 때문에 모든 쿼리 실행을 기록한 다음이 테이블을 구문 분석하여 쿼리에 대해 EXPLAIN을 실행하고 어떤 인덱스/사용/사용을 계산했는지를 파악할 수 있었지만, 티/! –
@Dave Rix : 상황에 맞는 멋진 해결책. 로그에 각 쿼리가 몇 번이나 나타나는지 파악한 경우 각 쿼리에 대해 EXPLAIN에서보고 한 인덱스에이 쿼리를 매핑 한 다음 자주 사용되는 인덱스와 자주 사용하지 않는 인덱스를 추정 할 수 있습니다. 사용되지만 거의 사용되지 않는 색인도 삭제 대상이 될 수 있습니다. –
맞아요 - mysqlidxchx라고하는 오래된 도구가 있지만 주식 릴리스에서는 사용할 수 없습니다. 여기 내 게시물의 마지막 두 단락을 참조하십시오. http://www.mysqlperformanceblog.com/2009/10/16/how-not-to-find-unused-indexes/ –