mysql查看时间参数设置_mysql慢查询日志参数配置及使用实践

一.在mysql中,慢查询日志对于管理员有重要作用能帮助dba快速定位捕获查询较慢或sql中没有使用索引的语句,便于对程序sql语句进行优化,排查问题等。

1.慢查询日志相关重要参数:

slow_query_log ##是否开启慢查询日志

f1f2a67ad37de84498ab9d5a2866486d.png

slow_query_log_file ##慢查询日志文件名及路径

917ea37472961ce8e50562ec85e5ce48.png

long_query_time ###指定慢查询时间阈(yu)值,sql执行时间大于该阈值(不包括该值本身,如在sql执行中花费的时间等于,下面的2秒时,不会被记录)将被记录下来,生产环境中1~2秒范围均可

76717a3cc813017096c30e755838eb6b.png

log_queries_not_using_indexes ###将没有使用索引的语句记录至慢查询日志中,

1a3cfcf670b4fe49dd01466861078535.png

log_throttle_queries_not_using_indexes ##限制每分钟内,在慢查询日志中,去记录没有使用索引的SQL语句的次数,因为没有使用索引的SQL可能会短时间重复执行,为了避免日志快速增大,限制每分钟的记录次数

f935f6510535b1650b1578735bc5a136.png

min_examined_row_limit ###扫描全表少于该值的记录将不会被记录至慢查询日志,结合去记录没有使用索引的SQL语句的例子,有可能存在某一个表,数据量维持在百行左右,且没有建立索引。这种表即使不建立索引,查询也很快,扫描记录很小,如果确定有这种表,则可以通过此参数设置,将这个SQL不记录到慢查询日志。

log_slow_admin_statements##记录超时的管理操作sql到慢查询日志中,如alter,analyze table等

75c56bf5f86c45ddffcbe398a6f1c849.png

log_output ###慢查询日志格式,默认为file记录到文件系统文件上,改为table将记录在mysql.slow_log表中。 类型为file可以通过mysql命令mysqldumpslow 命令统计查看。存在mysql.slow_log表中可以方便统计查询,但是在存在较多慢查询sql时,该表可能增长的过大,备份过程中不要备份该表。

021f4df5976dbe13c5c6e297404d2388.png

log_timestamps##写入时区信息。可根据需求记录UTC时间或者服务器本地系统时间

以上参数建议写在/etc/my.cnf配置文件中,每次启动mysql实例均生效,定期查看慢查询日志或mysql.slow_log表,优化这些sql语句。可以结合这条语句,找到数据库中哪些表尚未建立主键索引的表进行优化。

SELECT

table_schema,

table_name FROM information_schema.TABLES

WHERE

table_name NOT IN (

SELECT DISTINCT

TABLE_NAME from information_schema.COLUMNS where COLUMN_KEY = 'PRI'

)

AND table_schema NOT IN (

'mysql',

'information_schema','performance_schema','sys')

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值