關於long_query_time的設置,可不能夠說是mysql的一個小小bug呢

咱們知道對對於MySQL的日誌功能,咱們能夠徹底本身控制到底寫仍是不寫。通常來講,binlog咱們通常會開啓,而對於慢查詢咱們通常會在開發的時候調試和觀察SQL語句的執行速度。但今天發現一個問題。在使用show variables like 'log%';查看slow日誌是否開啓時,發現爲OFF,使用set global log_low_queries=on;成功了。而使用show variales like 'long%'時發現是10,因而想把它修改爲1,照葫蘆畫瓢使用set global long_query_time=1,再一次查詢發現仍是10。乖乖砸了,使用select sleep(10),記錄了日誌,而是用select sleep(1)確實沒有被記錄。並且設置的返回記錄是:mysql

 

mysql> set global long_query_time=1;sql

Query OK, 0 rows affected (0.00 sec)服務器

難道真的沒有改變嗎,突然想到是否是須要重啓服務器呢,想應該不是吧,我又不是修改配置文件。最後想從新開一個會話看如何。從新開一個會話查詢show variables like 'long%';果真被修改了。那爲何在修改它的窗口沒有反映出來呢。不解。工具

但願遇到這種狀況的朋友不要向我同樣在一個會話中不停的試。找緣由,直接開過窗口就能夠試驗了。.net

 

 

另外,將MySQL慢查詢日誌寫入表的的設置爲。set global log_output='TABLE';調試

和慢查詢相關的還有一個參數是log_queries_not_using_indexes;用來設置是否記錄沒有使用索引的查詢。開啓該查詢後,若是你的日誌是記錄到表中的,那麼你每次顯示慢日誌語句的時候,從該表中的查詢記錄也會被添加進行。日誌

若是日誌是寫在文件中。用mysqldumpslow工具能夠對慢查詢日誌文件進行瀏覽。該工具我也沒使用過,用了後在介紹了。blog

 

轉自:http://blog.csdn.net/fengbangyue/article/details/6359509索引

相關文章
相關標籤/搜索