這篇文章主要介紹MySQL中Profile的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
成都創新互聯專注為客戶提供全方位的互聯網綜合服務,包含不限于成都做網站、網站制作、成都外貿網站建設、桑植網絡推廣、成都微信小程序、桑植網絡營銷、桑植企業策劃、桑植品牌公關、搜索引擎seo、人物專訪、企業宣傳片、企業代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;成都創新互聯為所有大學生創業者提供桑植建站搭建服務,24小時服務熱線:18980820575,官方網址:vcdvsql.cn
MYSQL--Profile分析
在分析一條SQL語句的時候,發現在SQL語句的末尾或者最前面加空格,并不影響直接從QC里面去取結果。
參考手冊里是這么說的:
查詢必須是完全相同的(逐字節相同)才能夠被認為是相同的。另外,同樣的查詢字符串由于其它原因可能認為是不同的。使用不同的、不同的協議版本或者不同 默認字符集的查詢被認為是不同的查詢并且分別進行緩存。
既然是要完全相同,那么如下兩條SQL應該是不同的
select count(*) from t1 ;
select count(*) from t1 ;
但是在實際運行時,確的當作相同的SQL來執行的
> SHOW PROFILES;
+----------+------------+-----------------------------+
| Query_ID | Duration | Query |
+----------+------------+-----------------------------+
| 1 | 0.00006925 | select count(*) from t1 |
| 2 | 0.08126275 | insert into t1 values(6) |
| 3 | 0.00043675 | select count(*) from t1 |
| 4 | 0.00006850 | select count(*) from t1 |
| 5 | 0.00021075 | select count(*) from t1 |
| 6 | 0.00007150 | select count(*) from t1 |
| 7 | 0.00007300 | select count(*) from t1 |
| 8 | 0.00020975 | select count(*) from t1 |
+----------+------------+-----------------------------+
8 rows in set (0.00 sec) www.2cto.com
而且只是在前后加了空格的SQL語句,就直接從QC里面獲取數據了,不再進行優化,執行等操作。
mysql> SHOW PROFILE FOR QUERY 7;
+--------------------------------+----------+
| Status | Duration |
+--------------------------------+----------+
| starting | 0.000022 |
| checking query cache for query | 0.000007 |
| checking privileges on cached | 0.000005 |
| sending cached result to clien | 0.000034 |
| logging slow query | 0.000003 |
| cleaning up | 0.000003 |
+--------------------------------+----------+
6 rows in set (0.00 sec)
在SQL的中間插入空格,才會當作不同的SQL來運行。
mysql> SHOW PROFILE FOR QUERY 8;
+--------------------------------+----------+
| Status | Duration |
+--------------------------------+----------+
| starting | 0.000023 | www.2cto.com
| checking query cache for query | 0.000049 |
| Opening tables | 0.000013 |
| System lock | 0.000005 |
| Table lock | 0.000037 |
| init | 0.000012 |
| optimizing | 0.000006 |
| executing | 0.000012 |
| end | 0.000004 |
| query end | 0.000003 |
| freeing items | 0.000036 |
| storing result in query cache | 0.000006 |
| logging slow query | 0.000003 |
| cleaning up | 0.000002 |
+--------------------------------+----------+
14 rows in set (0.00 sec)
從上面可以得到,QC在存儲SQL語句的時候,是去掉了頭尾的空格的。而且在查詢時,也自動去掉首尾的空格,再到QC里面去比較的。
以上是“MYSQL中Profile的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創新互聯行業資訊頻道!
文章標題:MYSQL中Profile的示例分析
網站地址:http://vcdvsql.cn/article40/peegho.html
成都網站建設公司_創新互聯,為您提供微信小程序、網站改版、云服務器、網站制作、商城網站、
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯