MySQL慢查询日记供应了凌驾指定时刻阈值的查询信息,为机能优化供应了重要的参考根据,是一个异常有用的功用,
MySQL慢查询日记的开启和设置异常简朴,能够指定纪录的文件(或许表),凌驾的时刻阈值等就能够纪录到慢sql了,
真话讲,相比较sqlserver的trace或许扩大事宜(虽然此两者的作用并不是仅仅如此),MySQL的设置老是给人一种异常清新的觉得。
1,慢查询日记的翻开一般状况下,只须要在设置文件中增添slow_query_log = 1设置,即翻开慢查询日记,未指定slow_query_log_file的状况下,会自动生成一个以主机名+‘slow’.log 的文件
2,默许状况下纪录慢查询的时刻阈值为10s
默许状况下,指定slow_query_log = 1的状况其启动MySQL,即可翻开慢查询,自动生成一个默许的以主机名++‘slow’.log 的文件来纪录凌驾实行凌驾10s的慢查询。
也能够显式指定慢查询的日记文件名称(不存在会自动建立)和纪录慢查询的时刻阈值(非默许的10s)。
注意在设置文件中指定long_query_time的时刻,不须要时刻单元,只须要一个值,比方1就代表1s,假如带了时刻单元,效劳将没法启动。
以下是一个纪录到日记文件中的慢sql的示例
3,纪录慢查询日记到表
设置:须要增加一个log_output的设置,就能够将慢查询纪录到表中了
mysql库下面有一个默许的slow_log表,能够直接将slow_query_log_file = slow_log,即可将慢查询日记纪录到表中。
纪录到的slow sql以下,能够发明sql_text是一个二进制的信息,并不是原始的sql文本
能够经由过程CONVERT函数转换一下即可。
关于慢查询纪录到日记文件和表中的区分:
1,慢查询纪录到日记文件和表中,纪录自身差异不大,假如是纪录在表中,慢查询的实行时刻信息没法准确到玄妙,
2,假如将慢查询信息纪录在表中,轻易查询,但由于是结构化的数据,能够会比纪录在慢查询日记文件中(平面文本文件)要慢一点点(个人猜想),假如是纪录到文件,须要mysqldumpslow东西剖析。
3,慢查询不纪录实行失利的查询,比方long_query_time设置为10(10秒钟),一个查询凌驾了10秒钟,然则由于其他缘由实行失利,MySQL的慢查询将没法纪录此查询信息。
以上就是MySQL慢查询日记相干的设置和运用 的细致内容,更多请关注ki4网别的相干文章!