重庆幸运农场中奖金额|重庆幸运农场官网
MyException - 我的異常網
當前位置:我的異常網» MySQL » mysql中查詢聯接工作狀態

mysql中查詢聯接工作狀態

www.h0f1.com  網友分享于:2018-06-08  瀏覽:0次
mysql中查詢連接工作狀態
#!/bin/bash
while true
do
mysql -uroot -e 'show processlist\G'|grep State:|uniq -c|sort -rn
echo '---'
sleep 1
Done


如果觀察到以下狀態,則需要注意
converting HEAP to MyISAM 查詢結果太大時,把結果放在磁盤 (語句寫的不好,取數據太多)
create tmp table             創建臨時表(如group時儲存中間結果,說明索引建的不好)
Copying to tmp table on disk   把內存臨時表復制到磁盤 (索引不好,表字段選的不好)
locked         被其他查詢鎖住 (一般在使用事務時易發生,互聯網應用不常發生)
logging slow query 記錄慢查詢
mysql 5.5 以后加了一個profile設置,可以觀察到具體語句的執行步驟.
0:查看profile是否開啟

> Show  variables like ‘profiling’
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| profiling     | OFF   |
+---------------+-------+

1:> set profiling=on;
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| profiling     | On      |
+---------------+-------+


mysql> show profiles;
+----------+------------+----------------------------------------------------------+
| Query_ID | Duration   | Query                                                    |
+----------+------------+----------------------------------------------------------+
|        1 | 0.00034225 | select cat_id,avg(shop_price) from goods group by cat_id |
+----------+------------+----------------------------------------------------------+
1 row in set (0.00 sec)

mysql> show profile for query 1;
+----------------------+----------+
| Status               | Duration |
+----------------------+----------+
| starting             | 0.000058 |
| checking permissions | 0.000008 |
...
...
| Sorting result       | 0.000004 |
| Sending data         | 0.000120 |
| end                  | 0.000005 |
| query end            | 0.000006 |
| closing tables       | 0.000008 |
| freeing items        | 0.000023 |
| logging slow query   | 0.000003 |
| cleaning up          | 0.000004 |
+----------------------+----------+

文章評論

軟件開發程序錯誤異常ExceptionCopyright © 2009-2015 MyException 版權所有
重庆幸运农场中奖金额