1. 如何查找Mysql中查詢慢的SQL語句
一、MySQL資料庫有幾個配置選項可以幫助我們及時捕獲低效SQL語句
1,slow_query_log
這個參數設置為ON,可以捕獲執行時間超過一定數值的SQL語句。
2,long_query_time
當SQL語句執行時間超過此數值時,就會被記錄到日誌中,建議設置為1或者更短。
3,slow_query_log_file
記錄日誌的文件名。
4,log_queries_not_using_indexes
這個參數設置為ON,可以捕獲到所有未使用索引的SQL語句,盡管這個SQL語句有可能執行得挺快。
二、檢測mysql中sql語句的效率的方法
1、通過查詢日誌
(1)、Windows下開啟MySQL慢查詢
MySQL在Windows系統中的配置文件一般是是my.ini找到[mysqld]下面加上
代碼如下
log-slow-queries = F:/MySQL/log/mysqlslowquery。log
long_query_time = 2
(2)、Linux下啟用MySQL慢查詢
MySQL在Windows系統中的配置文件一般是是my.cnf找到[mysqld]下面加上
代碼如下
log-slow-queries=/data/mysqldata/slowquery。log
long_query_time=2
說明
log-slow-queries = F:/MySQL/log/mysqlslowquery。
為慢查詢日誌存放的位置,一般這個目錄要有MySQL的運行帳號的可寫許可權,一般都將這個目錄設置為MySQL的數據存放目錄;
long_query_time=2中的2表示查詢超過兩秒才記錄;
2. 如何查詢mysql中執行效率低的sql語句
一、MySQL資料庫有幾個配置選項可以幫助我們及時捕獲低效SQL語句
1,slow_query_log
這個參數設置為ON,可以捕獲執行時間超過一定數值的SQL語句。
2,long_query_time
當SQL語句執行時間超過此數值時,就會被記錄到日誌中,建議設置為1或者更短。
3,slow_query_log_file
記錄日誌的文件名。
4,log_queries_not_using_indexes
這個參數設置為ON,可以捕獲到所有未使用索引的SQL語句,盡管這個SQL語句有可能執行得挺快。
二、檢測mysql中sql語句的效率的方法
1、通過查詢日誌
(1)、Windows下開啟MySQL慢查詢
MySQL在Windows系統中的配置文件一般是是my.ini找到[mysqld]下面加上
代碼如下
log-slow-queries = F:/MySQL/log/mysqlslowquery。log
long_query_time = 2
3. mysql 怎麼看sql的效率
用Explain語法:
explain select … from … [where ...]
1、id:這是SELECT的查詢序列號
2、select_type:select_type就是select的類型
3、table:顯示這一行的數據是關於哪張表的
4、type:這列最重要,顯示了連接使用了哪種類別,有無使用索引,是使用Explain命令分析性能瓶頸的關鍵項之一。
5、possible_keys:列指出MySQL能使用哪個索引在該表中找到行
6、key:顯示MySQL實際決定使用的鍵(索引)。如果沒有選擇索引,鍵是NULL
7、key_len:顯示MySQL決定使用的鍵長度。如果鍵是NULL,則長度為NULL。使用的索引的長度。在不損失精確性的情況下,長度越短越好
8、ref:顯示使用哪個列或常數與key一起從表中選擇行。
9、rows:顯示MySQL認為它執行查詢時必須檢查的行數。
10、Extra:包含MySQL解決查詢的詳細信息,也是關鍵參考項之一。
4. 如何利用MySQL資料庫命令查看SQL執行效率
1.找到mysql的安裝路徑,用記事本打開
my.ini
這個文件。
2.在這個文件中找到如下內容:
#path
to
the
database
root
datadir="c:/programdata/mysql/mysql
server
5.5/data/"
這里是你資料庫
文件的存放路徑,
如果你是要查看裡面的內容,用資料庫連接工具,或者命令行,通過
slelect
等語句就可以查詢了。
5. mysql怎麼查看sql的執行頻率
查看執行時間
1 show profiles;
2 show variables;查看profiling 是否是on狀態;
3 如果是off,則 set profiling = 1;
4 執行自己的sql語句;
5 show profiles;就可以查到sql語句的執行時間;
查看操作了多少行
在sql語句前面加上 explain就可以了;
explain select * from event;
+—-+————-+——-+——+—————+——+———+——+——+——-+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+—-+————-+——-+——+—————+——+———+——+——+——-+
| 1 | SIMPLE | event | ALL | NULL | NULL | NULL | NULL | 13 | |
+—-+————-+——-+——+—————+——+———+——+——+——-+
1 row in set (0.00 sec)
各個屬性的含義
id
select查詢的序列號
select_type
select查詢的類型,主要是區別普通查詢和聯合查詢、子查詢之類的復雜查詢。
table
輸出的行所引用的表。
type
聯合查詢所使用的類型。
type顯示的是訪問類型,是較為重要的一個指標,結果值從好到壞依次是:
system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL
一般來說,得保證查詢至少達到range級別,最好能達到ref。
possible_keys
指出MySQL能使用哪個索引在該表中找到行。如果是空的,沒有相關的索引。這時要提高性能,可通過檢驗WHERE子句,看是否引用某些欄位,或者檢查欄位不是適合索引。
key
顯示MySQL實際決定使用的鍵。如果沒有索引被選擇,鍵是NULL。
key_len
顯示MySQL決定使用的鍵長度。如果鍵是NULL,長度就是NULL。文檔提示特別注意這個值可以得出一個多重主鍵里mysql實際使用了哪一部分。
ref
顯示哪個欄位或常數與key一起被使用。
rows
這個數表示mysql要遍歷多少數據才能找到,在innodb上是不準確的。
Extra
如果是Only index,這意味著信息只用索引樹中的信息檢索出的,這比掃描整個表要快。
如果是where used,就是使用上了where限制。
如果是impossible where 表示用不著where,一般就是沒查出來啥。
6. 如何利用MySQL資料庫命令查看SQL執行效率
MySQL資料庫如何通過命令查看SQL語句執行效率,一般情況下,可以通過命令show status來顯示執行SQL效率。下面利用幾個實例來說明show status的用法,具體操作如下:
http://jingyan..com/article/597a064357933a312b52438a.html