日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql query profile_MySQL Query Profile

發布時間:2024/10/14 数据库 72 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql query profile_MySQL Query Profile 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MySQL Query Profile MySQL 5.0.37 以上開始支持 MySQL Query Profiler, 可以查詢到此 SQL 會執行多少時間, 并看出 CPU/Memory 使用量, 執行過程中 System lock, Table lock 花多少時間等等.

詳細可以參見官方文檔:Using the New MySQL Query Profiler

啟動

mysql> set profiling=1;

Query OK, 0 rows affected (0.00 sec)

測試查詢

mysql> select count(*) from client where broker_id=2;

+----------+

| count(*) |

+----------+

| 200 |

+----------+

1 row in set (0.00 sec)

查看profiles

mysql> show profiles;

+----------+------------+-----------------------------------------------+

| Query_ID | Duration | Query |

+----------+------------+-----------------------------------------------+

| 0 | 0.00007300 | set profiling=1 |

| 1 | 0.00044700 | select count(*) from client where broker_id=2 |

+----------+------------+-----------------------------------------------+

2 rows in set (0.00 sec)

查看單條profile

mysql> show profile for query 1;

+--------------------+------------+

| Status | Duration |

+--------------------+------------+

| (initialization) | 0.00006300 |

| Opening tables | 0.00001400 |

| System lock | 0.00000600 |

| Table lock | 0.00001000 |

| init | 0.00002200 |

| optimizing | 0.00001100 |

| statistics | 0.00009300 |

| preparing | 0.00001700 |

| executing | 0.00000700 |

| Sending data | 0.00016800 |

| end | 0.00000700 |

| query end | 0.00000500 |

| freeing items | 0.00001200 |

| closing tables | 0.00000800 |

| logging slow query | 0.00000400 |

+--------------------+------------+

15 rows in set (0.00 sec)

mysql> alter table t engine=myisam;

Query OK, 112050 rows affected (0.64 sec)

Records: 112050 Duplicates: 0 Warnings: 0

mysql> show profiles;

+----------+------------+-----------------------------------------------+

| Query_ID | Duration | Query |

+----------+------------+-----------------------------------------------+

| 0 | 0.00007300 | set profiling=1 |

| 1 | 0.00044700 | select count(*) from client where broker_id=2 |

| 2 | 0.00003400 | set profiling=0 |

| 3 | 0.00007400 | set profiling=1 |

| 4 | 0.63789700 | alter table t engine=myisam |

| 5 | 0.00004000 | set profiling=0 |

+----------+------------+-----------------------------------------------+

6 rows in set (0.00 sec)

mysql> show profile for query 4;

+----------------------+------------+

| Status | Duration |

+----------------------+------------+

| (initialization) | 0.00002900 |

| checking permissions | 0.00000800 |

| init | 0.00004000 |

| Opening table | 0.00009400 |

| System lock | 0.00000500 |

| Table lock | 0.00000700 |

| setup | 0.00004200 |

| creating table | 0.00195800 |

| After create | 0.00010900 |

| copy to tmp table | 0.52264500 |

| rename result table | 0.11289400 |

| end | 0.00004600 |

| query end | 0.00000700 |

| freeing items | 0.00001300 |

+----------------------+------------+

14 rows in set (0.00 sec)

查看cpu資源等信息

mysql> show profile cpu for query 4;

+----------------------+------------+------------+------------+

| Status | Duration | CPU_user | CPU_system |

+----------------------+------------+------------+------------+

| (initialization) | 0.00002900 | 0.00000000 | 0.00000000 |

| checking permissions | 0.00000800 | 0.00000000 | 0.00000000 |

| init | 0.00004000 | 0.00000000 | 0.00000000 |

| Opening table | 0.00009400 | 0.00100000 | 0.00000000 |

| System lock | 0.00000500 | 0.00000000 | 0.00000000 |

| Table lock | 0.00000700 | 0.00000000 | 0.00000000 |

| setup | 0.00004200 | 0.00000000 | 0.00000000 |

| creating table | 0.00195800 | 0.00000000 | 0.00100000 |

| After create | 0.00010900 | 0.00000000 | 0.00000000 |

| copy to tmp table | 0.52264500 | 0.55591600 | 0.04199300 |

| rename result table | 0.11289400 | 0.00199900 | 0.00000000 |

| end | 0.00004600 | 0.00000000 | 0.00000000 |

| query end | 0.00000700 | 0.00000000 | 0.00000000 |

| freeing items | 0.00001300 | 0.00000000 | 0.00000000 |

+----------------------+------------+------------+------------+

14 rows in set (0.00 sec)

mysql> show profile;?+--------------------------------+----------+| Status???????????????????????? | Duration |+--------------------------------+----------+| starting?????????????????????? | 0.000034 |?| checking query cache for query | 0.000050 |?| Opening tables???????????????? | 0.000017 |?| System lock??????????????????? | 0.000005 |?| Table lock???????????????????? | 0.000017 |?| init?????????????????????????? | 0.000027 |?| optimizing???????????????????? | 0.000006 |?| statistics???????????????????? | 0.000010 |?| preparing????????????????????? | 0.000011 |?| executing????????????????????? | 0.000003 |?| Sending data?????????????????? | 0.000155 |?| end??????????????????????????? | 0.000010 |?| query end????????????????????? | 0.000003 |?| freeing items????????????????? | 0.000029 |?| logging slow query???????????? | 0.000003 |?| cleaning up??????????????????? | 0.000004 |?+--------------------------------+----------+

其他屬性列表

* ALL - displays all information

* BLOCK IO - displays counts for block input and output operations

* CONTEXT SWITCHES - displays counts for voluntary and involuntary context switches

* IPC - displays counts for messages sent and received

* MEMORY - is not currently implemented

* PAGE FAULTS - displays counts for major and minor page faults

* SOURCE - displays the names of functions from the source code, together with the name and line number of the file in which the function occurs

* SWAPS - displays swap counts

設定profiling保存size

mysql> show variables where variable_name='profiling_history_size'; # 默認15條

關閉

mysql> set profiling=0;

總結

以上是生活随笔為你收集整理的mysql query profile_MySQL Query Profile的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。