1 느림쿼리정의
는 mysql이 long_query_time 매개변수로 설정된 시간 임계값을 초과하여 실행되는 모든 SQL 문을 기록한다는 의미입니다. 느린 쿼리 로그는 이러한 SQL을 기록하는 로그입니다.
2 느린 쿼리 로그 활성화
mysql구성 파일my.cnf를 찾습니다. mysqld에서 구성 완료 후
log-slow-queries = D:/MySQL/log/mysqld-slow-query.log #日志存在的位置。(注意权限的问题,可以不用设置,系统会给一个缺省的文件host_name-slow.log) long-query-time = 5 #SQL执行时间阈值,默认为10秒。 #log-long-format #说log-long-format选项是用来设置日志的格式,它是以扩展方式记录有关事件。扩展方式可记录谁发出查询和什么时候发出查询的信息。可使我们更好地掌握客户端的操作情况。 #log-slow-admin-statements #将慢管理语句例如OPTIMIZE TABLE、ANALYZE TABLE和ALTER TABLE记入慢查询日志。 log-queries-not-using-indexes #如果运行的SQL语句没有使用索引,则mysql数据库同样会将这条SQL语句记录到慢查询日志文件中。
다시 시작합니다. mysql 서비스.
3가지 테스트
편의상 my.cnf에 느린 쿼리 로그의 경로만 구성했습니다.
mysql 버전은 5.1.73
long_query_time 정보: mysql에서 시작 5.1부터 long_query_time은 SQL 문 실행 시간을 마이크로초 단위로 기록하기 시작합니다. 이전에는 초 단위로만 기록되었습니다. 이를 통해 DBA 분석을 위한 SQL의 실행 시간을 보다 정확하게 기록할 수 있습니다.
mysql을 입력하세요.
mysql> show VARIABLES like "%slow%"; #查看慢查询日志相关的信息 mysql> set global long_query_time=0.01; #将mysql位置的值改为 0.01 mysql> show variables like "long_query_time"; #查看是否生效 mysql> select sleep(2); #延迟2秒执行 注:这条sql执行完毕以后应该已经在慢查询的日志文件中产生相关的信息记录 mysql> show global status like '%slow%'; #查看慢查询语句的次数
SQL이 기록된 로그 파일을 확인할 수 있습니다.
요약:
Windows에서 MySQL 느린 쿼리 활성화
Windows 시스템의 MySQL 구성 파일은 일반적으로 my.ini입니다. [mysqld]를 찾아
log-slow-queries = F:MySQLlogmysqlslowquery.loglong_query_time = 2
Linux에서 MySQL 느린 쿼리 활성화Windows 시스템의 MySQL 구성 파일은 일반적으로 my.cnf이며 아래에 log-slow-queries=/data/mysqldata/slowquery.log
long_query_time=2
참고
log-slow-queries = F:MySQLlogmysqlslowquery.log는 느린 쿼리입니다. 로그 저장 위치. 일반적으로 이 디렉터리는 MySQL 실행 계정의 쓰기 권한이 있어야 합니다. 이 디렉터리는 일반적으로 MySQL 데이터 저장 디렉터리로 설정됩니다.
long_query_time=2의 2는 2초 이상 후에 쿼리가 기록된다는 의미입니다. ;
위 내용은 mysql 느린 쿼리에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!