mysql-slow.log 如何查找特定查询 SELECT/*!40001 SQL_NO_CACHE */* FROM

标签 mysql

运行这个命令:

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's source code (感谢 Raymond),它有这样的代码:

SELECT /*!40001 SQL_NO_CACHE */ * FROM 

这正是 mysqldumpslow 返回的内容。

关于mysql-slow.log 如何查找特定查询 SELECT/*!40001 SQL_NO_CACHE */* FROM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56974410/

相关文章:

php - 如何检索存储在 mySQL 表中的 HTML/PHP 代码而不将 PHP 注释掉?

mysql - (SQL Server) 在第一次出现 'character' 后返回子字符串值

mysql - CakePHP 3.x 基于多表的单一关联

mysql - 是否建议添加单独的状态字段来检查完成情况,或者完成者 ID 和日期是否足够?

mysql - 错误代码 : 1215. 无法添加外键约束

mysql - 插入表强制新主键

mysql - 为什么 SQL 条件不匹配 "OR"子句?

mysql - 如何使用 DQL 执行关系除法?

mysql - 将一条表记录插入到另一个表中

php - 登录问题 - 使用 mysql 中的散列密码检查输入密码?