Mysql

MySQL 慢查詢日誌 - SELECT /*!N SQL_NO_CACHE */

  • September 11, 2019

使用mysqldumpslow,我可以看到 MySQL 慢查詢日誌中最常見的條目是以下形式:

SELECT /*!N SQL_NO_CACHE */ from wp_posts (or wp_comments).

我似乎找不到太多關於這個語句的含義以及我是否需要足夠擔心它來嘗試追踪 WordPress 在哪裡創建這個 SQL 的資訊。

這些類型的 SELECT 總是由 mysqldumps 執行。

如果您在慢日誌中查看查詢的開始時間,並且這些 SELECT 中的每一個的時間每天都在同一時間,那麼它肯定來自您在某處有 crontab 的 mysqldump。

要消除此問題,您可能需要執行此

SET GLOBAL slow_query_log = 'OFF';

然後去執行mysqldumps,然後執行

SET GLOBAL slow_query_log = 'ON';

這應該完全消除這種類型的 SELECT 不必要地登陸慢日誌。

這個語法:

SELECT /*!N SQL_NO_CACHE */ * from wp_posts

由 mysqldump 使用。你是通過cron使用的嗎?

/* !50123 ... */

表示"..."僅當您運​​行 5.1.23 或更高版本時才包含。這允許 mysqldump(和其他通用工具)使用相同的程式碼,但讓它在沒有提到的功能的舊系統上工作。

這是我用於監控的一個:

SHOW /*!50000 GLOBAL */ STATUS

它將SHOW STATUS在舊伺服器或SHOW GLOBAL STATUS5.0.0 和更新的伺服器上執行。

引用自:https://dba.stackexchange.com/questions/3824