MySQL測試SQL執行的速度測試

2021-07-10 19:58:35 字數 1568 閱讀 1443

引言: 在mysql中如何測試單個sql的執行時間,是非常有助於我們理解其中的問題的,本文將介紹如何定位sql.的使用時間和執行計畫。

1.  檢視mysql關於profile的設定

show variables like '%pro%';  #查驗mysql中profile的設定選項

上圖中的profiling標識著的當前的mysql例項並未記錄sql執行時間。

2.  設定其profiling選項

從上圖可以看出,profile的選項已經開啟了。

3.  檢視profiles的記錄情況

4. 執行sql,檢視其執**況

隨意執行若干sql:  select * from om_transfer omt;

執行: show profiles;

看到其執行的時間為6.48秒

5.   檢視特定profile的執行

由於資訊很長,請各自自行檢視一下。

6.  檢視sql的執行計畫,一般在多表關聯的情況下比較有用

可以看到,被紅框選中的extra列中,列出了該sql在執行中是否使用index,大家可以根據該列去判斷是否sql query是高效的。

7.  檢視資料庫連線

show processlist;
可以檢視所有的程序列表,但是太長了,無法看到我們想要的內容。

select * from information_schema.processlist pl where pl.db like '%buffalo%' limit 10;   #查驗特定資料的程序列表資訊,前10個

從上圖中可以看到,從information_schema中檢視到了特定的process列表。

8. 總結

這些工具基本上是非常有用的,大家可以參照著在日常工作中使用。

SQL 執行查詢記錄的速度

乙個查詢是否存在記錄的sql.如下 select count from table a where condition x 這是乙個全表的檢索.如果只是查詢是否存在記錄是否有更快的辦法.select 1 from table a where condition x and rownum 1 資料量不...

sql count執行速度測試

最近做專案開發的時候要對資料庫裡面的資料數量進行統計使用,資料庫的大概有2000w多的資料。資料庫是mysql5.6 用的是遠端連線測試 elect count 執行語句 select count from t banlong push regdev 執行5次,平均耗時17.5s select co...

Mysql執行速度優化

1 create table t select from t old where 1 0 2 create table t like t old 3 create table t 其中 1 最快,但是它取消原來表的有些定義。自增字段 表引擎都變了,如果想要保持一樣的引擎,就在table名稱後邊加上 ...