mysql - mysql-slow.log 如何找到具体查询 SELECT /*!40001 SQL_NO_CACHE */ * FROM
问题描述
运行此命令:
mysqldumpslow -a -s r -t 30 /var/lib/mysql/mysql-slow.log
给我这个:
Count: 1 Time=1346.85s (1346s) Lock=0.00s (0s)
Rows_sent=237930890.0 (237930890), Rows_examined=237930890.0
(237930890), Rows_affected=0.0 (0), user[user]@localhost
SELECT /*!40001 SQL_NO_CACHE */ * FROM `sometable`
我的目标是找到慢查询并修复它。
我搜索了“* FROM sometable
”、“40001”、“SQL_NO_CACHE”,在源代码中都没有找到。这是怎么回事?所有其他查询,我都找不到问题。
我意识到计数是1。那是因为这是一个相对较新的日志,计数会上升。
解决方案
@Rup 提供的答案。mysqldump 正在运行这些查询,而 mysql 将这些视为慢查询。
如果您查看mysqldump 的源代码(感谢 Raymond),它有以下代码:
SELECT /*!40001 SQL_NO_CACHE */ * FROM
这正是 mysqldumpslow 返回的内容。
推荐阅读
- android - 如何在后台模式下使用 RNFirebase 在 React Native 中显示 Heads-Up 通知?
- linux - 如何在 ftrace/trace-cmd 中获取“}”之后的函数名
- kubernetes - 无法将日志发送到 Graylog kubernetes
- sql-server - 为什么 SQL 内连接称为内连接,外连接称为外连接?
- java - 使用 Android 的媒体播放器处理播放声音
- javascript - 如何修复由内联中断引起的“无效或意外令牌”?
- python - ImportError:无法导入名称“RandomizedLogisticRegression”
- java - 在 nativescript 中编写 java 文件以使用本地 java lib
- html - CSS 和 Bootstrap:创建一条连接行的线
- react-native - 无法使用 react-native-calendars