色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql怎么找曾經阻塞的sql

傅智翔2年前12瀏覽0評論

當我們在使用 MySQL 運行程序時,可能會遇到程序變得非常緩慢的情況,這通常是由于 SQL 查詢被阻塞造成的。我們可以通過下面的方法來查找這些曾經阻塞的 SQL 查詢。

# 打開 MySQL 的慢查詢日志
vi /etc/my.cnf
slow_query_log = 1
slow_query_log_file = /var/log/mysql_slow_query.log
long_query_time = 1
service mysql restart
# 查看慢查詢日志中,最近幾次產生的阻塞 SQL
grep "Query_time" /var/log/mysql_slow_query.log -A 5

上面的命令將打開 MySQL 中的慢查詢日志,每當一個查詢超過一定的時限就會被記錄在日志中。我們可以使用grep命令來查看最近幾次阻塞的 SQL 查詢,通常會輸出類似下面的內容:

# Time: 2020-09-10T12:58:57.459461Z
# User@Host: root[root] @ localhost []  Id: 31
# Query_time: 13.585471  Lock_time: 0.000228 Rows_sent: 0  Rows_examined: 0
SET timestamp=1599730737;
INSERT INTO `tbl_users` (`id`, `username`, `password`, `email`, `created_at`, `updated_at`)
VALUES (2, 'user2', 'password2', 'user2@example.com', '2020-09-10 12:58:57', '2020-09-10 12:58:57') ON DUPLICATE KEY UPDATE `updated_at` = '2020-09-10 12:58:57';
# Time: 2020-09-10T12:59:13.190341Z
# User@Host: root[root] @ localhost []  Id: 30
# Query_time: 11.238551  Lock_time: 0.000053 Rows_sent: 0  Rows_examined: 0
SET timestamp=1599730753;
INSERT INTO `tbl_users` (`id`, `username`, `password`, `email`, `created_at`, `updated_at`)
VALUES (1, 'user1', 'password1', 'user1@example.com', '2020-09-10 12:59:13', '2020-09-10 12:59:13') ON DUPLICATE KEY UPDATE `updated_at` = '2020-09-10 12:59:13';

我們可以通過分析日志中記錄的 SQL 查詢,確定哪些查詢是阻塞了數據庫,造成了程序緩慢的情況。然后針對這些 SQL 查詢進行優化,以提高程序的運行效率。