亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MySQL慢查詢?nèi)罩?Slow Query Log)的實(shí)現(xiàn)

 更新時(shí)間:2024年08月22日 11:39:53   作者:C語(yǔ)言中文網(wǎng)  
慢查詢?nèi)罩居脕?lái)記錄在 MySQL 中執(zhí)行時(shí)間超過(guò)指定時(shí)間的查詢語(yǔ)句,本文就來(lái)介紹一下MySQL慢查詢?nèi)罩?nbsp;的使用,感興趣的可以了解一下

慢查詢?nèi)罩居脕?lái)記錄在 MySQL 中執(zhí)行時(shí)間超過(guò)指定時(shí)間的查詢語(yǔ)句。通過(guò)慢查詢?nèi)罩?,可以查找出哪些查詢語(yǔ)句的執(zhí)行效率低,以便進(jìn)行優(yōu)化。

通俗的說(shuō),MySQL 慢查詢?nèi)罩臼桥挪閱?wèn)題的 SQL 語(yǔ)句,以及檢查當(dāng)前 MySQL 性能的一個(gè)重要功能。如果不是調(diào)優(yōu)需要,一般不建議啟動(dòng)該參數(shù),因?yàn)殚_(kāi)啟慢查詢?nèi)罩緯?huì)或多或少帶來(lái)一定的性能影響。

默認(rèn)情況下,慢查詢?nèi)罩竟δ苁顷P(guān)閉的??梢酝ㄟ^(guò)以下命令查看是否開(kāi)啟慢查詢?nèi)罩竟δ?。命令和?zhí)行過(guò)程如下:

mysql> SHOW VARIABLES LIKE 'slow_query%';
+---------------------+---------------------------------------------------------------------+
| Variable_name       | Value                                                               |
+---------------------+---------------------------------------------------------------------+
| slow_query_log      | OFF                                                                 |
| slow_query_log_file | C:\ProgramData\MySQL\MySQL Server 5.7\Data\LAPTOP-UHQ6V8KP-slow.log |
+---------------------+---------------------------------------------------------------------+
2 rows in set, 1 warning (0.02 sec)

mysql> SHOW VARIABLES LIKE 'long_query_time';
+-----------------+-----------+
| Variable_name   | Value     |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
1 row in set, 1 warning (0.01 sec)

參數(shù)說(shuō)明如下:

  • slow_query_log:慢查詢開(kāi)啟狀態(tài)
  • slow_query_log_file:慢查詢?nèi)罩敬娣诺奈恢茫ㄒ话阍O(shè)置為 MySQL 的數(shù)據(jù)存放目錄)
  • long_query_time:查詢超過(guò)多少秒才記錄

啟動(dòng)和設(shè)置慢查詢?nèi)罩?/h2>

可以通過(guò) log-slow-queries 選項(xiàng)開(kāi)啟慢查詢?nèi)罩尽Mㄟ^(guò) long_query_time 選項(xiàng)來(lái)設(shè)置時(shí)間值,時(shí)間以秒為單位。如果查詢時(shí)間超過(guò)了這個(gè)時(shí)間值,這個(gè)查詢語(yǔ)句將被記錄到慢查詢?nèi)罩尽?/p>

將 log_slow_queries 選項(xiàng)和 long_query_time 選項(xiàng)加入到配置文件的 [mysqld] 組中。格式如下:

[mysqld]
log-slow-queries=dir\filename
long_query_time=n

其中:

  • dir 參數(shù)指定慢查詢?nèi)罩镜拇鎯?chǔ)路徑,如果不指定存儲(chǔ)路徑,慢查詢?nèi)罩緦⒛J(rèn)存儲(chǔ)到 MySQL 數(shù)據(jù)庫(kù)的數(shù)據(jù)文件夾下。
  • filename 參數(shù)指定日志的文件名,生成日志文件的完整名稱為 filename-slow.log。 如果不指定文件名,默認(rèn)文件名為 hostname-slow.log,hostname 是 MySQL 服務(wù)器的主機(jī)名。
  • “n”參數(shù)是設(shè)定的時(shí)間值,該值的單位是秒。如果不設(shè)置 long_query_time 選項(xiàng),默認(rèn)時(shí)間為 10 秒。

還可以通過(guò)以下命令啟動(dòng)慢查詢?nèi)罩尽⒃O(shè)置指定時(shí)間:

SET GLOBAL slow_query_log=ON/OFF;
SET GLOBAL long_query_time=n;

查看慢查詢?nèi)罩?/h2>

如果你想查看哪些查詢語(yǔ)句的執(zhí)行效率低,可以從慢查詢?nèi)罩局蝎@得信息。和錯(cuò)誤日志、查詢?nèi)罩疽粯?,慢查詢?nèi)罩疽彩且晕谋疚募男问酱鎯?chǔ)的,可以使用普通的文本文件查看工具來(lái)查看。

例 1

開(kāi)啟 MySQL 慢查詢?nèi)罩竟δ埽⒃O(shè)置時(shí)間,命令和執(zhí)行過(guò)程如下:

mysql> SET GLOBAL slow_query_log=ON;
Query OK, 0 rows affected (0.05 sec)

mysql> SET GLOBAL long_query_time=0.001;
Query OK, 0 rows affected (0.00 sec)

由于需要演示這里我們將時(shí)間設(shè)置為了 0.001 秒,執(zhí)行時(shí)間超過(guò) 0.001 秒的 SQL 語(yǔ)句將被記錄到日志中。

查詢 tb_student 表中的數(shù)據(jù),SQL 語(yǔ)句和執(zhí)行過(guò)程如下:

mysql> USE test;
Database changed
mysql> SELECT * FROM tb_student;
+----+--------+
| id | name   |
+----+--------+
|  1 | Java   |
|  2 | MySQL  |
|  3 | Python |
+----+--------+
3 rows in set (0.08 sec)

相應(yīng)的,慢查詢?nèi)罩镜牟糠謨?nèi)容如下:

# Time: 2020-06-01T01:59:18.368780Z
# User@Host: root[root] @ localhost [::1]  Id:     3
# Query_time: 0.006281  Lock_time: 0.000755 Rows_sent: 2  Rows_examined: 1034
use test;
SET timestamp=1590976758;
SHOW VARIABLES LIKE 'slow_query%';

刪除慢查詢?nèi)罩?/h2>

慢查詢?nèi)罩镜膭h除方法與通用日志的刪除方法是一樣的。可以使用 mysqladmin 命令來(lái)刪除。也可以使用手工方式來(lái)刪除。mysqladmin 命令的語(yǔ)法如下:

mysqladmin -uroot -p flush-logs

執(zhí)行該命令后,命令行會(huì)提示輸入密碼。輸入正確密碼后,將執(zhí)行刪除操作。新的慢查詢?nèi)罩緯?huì)直接覆蓋舊的查詢?nèi)罩?,不需要再手?dòng)刪除。

數(shù)據(jù)庫(kù)管理員也可以手工刪除慢查詢?nèi)罩?,刪除之后需要重新啟動(dòng) MySQL 服務(wù)。

注意:通用查詢?nèi)罩竞吐樵內(nèi)罩径际鞘褂眠@個(gè)命令,使用時(shí)一定要注意,一旦執(zhí)行這個(gè)命令,通用查詢?nèi)罩竞吐樵內(nèi)罩径贾淮嬖谛碌娜罩疚募?。如果需要備份舊的慢查詢?nèi)罩疚募仨毾葘⑴f的日志改名,然后重啟 MySQL 服務(wù)或執(zhí)行 mysqladmin 命令。

到此這篇關(guān)于MySQL慢查詢?nèi)罩?Slow Query Log)的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)MySQL慢查詢?nèi)罩?內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

最新評(píng)論