SQL 쿼리를 최적화할 수 있는 오픈 소스 MySQL 성능 도구가 있습니까?
답변1
mysql 명령을 분석하려면 다음을 사용할 수 있습니다.SHOW PROFILE
mysql> SET profiling = 1;
mysql> [type your query here]
mysql> SHOW PROFILE;
원하는 결과를 얻기 위해 mysql이 수행할 작업에 대한 자세한 정보를 얻으려면 EXPLAIN
.
mysql> EXPLAIN [type your query here]
최적화를 위한 좋은 출발점은 인덱스를 사용하고 메모리 사용량을 늘리는 것입니다 my.cnf
(기본 매개변수는 매우 낮을 수 있음). 테이블에서 많은 데이터를 삭제하는 경우 OPTIMIZE TABLE
에도 도움이 될 수 있습니다 .
OPTIMIZE TABLE table;
그럼에도 불구하고 SHOW PROFILE의 출력을 사용하여 어떤 부분이 많은 시간을 필요로 하고 최적화할 가치가 있는지 결정해야 합니다.
최적화 시 쿼리 캐시 전환에 주의하세요. 그렇지 않으면 당신은 자신을 속이게 될 것입니다.
답변2
첫째, 아무리 최적화와 캐싱을 사용해도 물리적 하드웨어를 대체할 수 없습니다. 가장 좋은 최적화 형태는 서버에 더 많은 메모리를 추가한 다음 최적화 단계를 수행하는 것입니다.
MySQL 최적화는 지속적인 프로세스입니다. 매주 MySQL을 조정해야 합니다. 이를 통해 MySQL 구성을 조정할 수 있습니다.
5년 전 이 질문을 받았을 때 우리는 Trusty Tahr에 있었는데 이것이 제가 가장 기억하는 것입니다. 그 안에 편집할 수 있는 파일이 있었고 my.cnf
, Xenial로 빨리 감아 열면 편집 가능한 문서가 /etc/mysql
없었습니다 . my.cnf
. 이제 링크/etc/alternatives/my.cnf
Xenial(Ubuntu 16)을 사용하여 편집하려는 파일은 다른 디렉터리에 있습니다. 즉, /etc/mysql/mysql.conf.d
이 게시물을 보는 사람들을 위해 편집하려는 파일은 입니다 mysqld.cnf
.
파일을 백업한 다음 홈 디렉터리로 돌아가서 이를 사용하여 mysqlcheck
데이터베이스를 최적화하십시오.