问题标签 [mysql-slow-query-log]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
2539 浏览

mysql - 为什么mysql慢日志会报告这些非慢查询

我的 mysql 服务器已long_query_time = 2配置,但我仍然在慢速查询日志中看到这些查询似乎很快:

如您所见 Query_time: 0.000412 Lock_time: 0.000060 似乎远低于 2 秒

您知道为什么会报告这些“快速”查询吗?

0 投票
2 回答
437 浏览

ruby-on-rails - 用于 Ruby Sequel 或 ORM 检测 SQL 查询以进行慢查询日志分析的工具或补丁

我们有来自一套应用程序的 MySQL 慢查询日志,主要是在 Ruby 中,一些使用 Rails ActiveRecord,另一些使用 Sequel。

我们希望能够轻松地将特定(MySQL)慢查询返回到生成它的代码。是否有可以在这些工具中启用的功能,或者可以应用到它们的补丁,它添加嵌入到 SQL 注释中的工具,比如__FILE____FUNCTION__标识符?

0 投票
1 回答
901 浏览

mysql - Mysql 慢查询日志正在记录更快的查询

我已经在我的数据库服务器上设置了 mysql 慢查询日志并将长查询时间设置为 5。刚刚检查了日志及其日志查询,只需要几毫秒。有人知道为什么会这样吗?,这是一些日志。

最后一个查询并不是最优化的。它说它检查了 450000 行,所以在日志中看到它我不会感到惊讶。然而查询时间说它只花了0.2秒。除了查询执行时间之外,还有更多的慢查询日志吗?

0 投票
0 回答
367 浏览

mysql - Mysql查询严重减慢连接

有一个大约 20,000 行的表。一切正常,但其中一个查询已减慢到大约 5 秒以上。所有表都有主键及其相关索引。还有外键及其相关索引。我已经尝试添加新索引并一点一点地修剪查询,但这并没有太大的区别。我也删除了订单,这确实有帮助,但也只有这么多。我想知道我是否可以得到一双新的眼睛,看看我是否在这里遗漏了什么。

我想知道是什么导致了 using_temporary,尤其是当我为它们都定义了索引时。出于某种原因,当我运行解释时,一切看起来都很好,除了表 2 中的第一个连接值之外,每个都只需要搜索 1 行。在这种情况下,它返回一个 using_temporary 并且每次需要搜索近 3000 行。

更新我向 table_1 添加了一个唯一索引,该索引由其他连接表中的键以相同的顺序组成。Explain 告诉我,这将要搜索的行数从 3000 减少到 294,但查询执行时间仍然过长。现在我必须说它不寻常。

0 投票
3 回答
5439 浏览

mysql - 如何确定慢查询?

我的网站正在经历一个非常缓慢的加载时间。我怀疑可能是 javascript 或 php 导致加载时间更长,但我已经在 YSlow 中测试了我的网站,它的等级是 B,我认为这还不错。

现在我想检查我的数据库,如果查询有问题,数据库索引会导致我的网站加载速度变慢。

是否有一些教程或技巧我可能会阅读或尝试测试数据库以确定是否有慢查询?数据库管理有什么技巧吗?

0 投票
2 回答
341 浏览

mysql - pt-query-digest 没有结果和“0 总数,1 个唯一”。知道如何解决吗?

对于我们的一些日志,percona 工具包 pt-query-digest 工具工作正常,但对于其他日志,我们得到以下输出:

有人知道我的日志文件有什么问题吗?它似乎是有效的,具有以下前 10 行:

0 投票
1 回答
324 浏览

mysql - MySQL 使用索引的慢查询,当我通过分析器运行它时并不慢

在我的慢查询日志中,我看到慢查询,例如

当我使用 SQL_NO_CACHE 通过探查器运行慢查询时,它看起来说

当我用解释运行查询时,它说

创建表看起来像

还有另一个查询会定期运行,从电子邮件地址列表中选择 ID 和电子邮件,因此电子邮件、ID 键、电子邮件地址必须是唯一的,因此为什么这是唯一键。该表只有约 14M 行

我想也许索引在内存和交换方面变得很大,但盒子有 8 gigs 的内存。

在 my.cnf 文件中设置 innodb_file_per_table=1 似乎已经解决了这个问题。

这提高了执行时间,我的理解是每个表有一个文件意味着磁盘针不需要移动这么大的距离。

问题

  1. 如果可以使用索引评估查询,为什么设置 innodb_file_per_table=1 会提高性能
  2. 为什么在不使用缓存的情况下为探查器运行查询时查询不慢?
  3. 我的主键应该是 (id, email) 吗?

更新

最初没有 /etc/my.cnf 文件,然后我用以下内容创建了一个

0 投票
1 回答
5063 浏览

mysql - MySQL 慢查询日志记录快速查询

我遇到了一个问题,MySQL 似乎在慢查询日志中记录比指定时间快的查询。我已将 MySQL 配置为记录以下内容:

但是,在我的慢查询日志中,我可以看到它正在记录亚秒级查询:

我已经使用“SET GLOBAL ...”动态设置了上述变量,但在此之前 long_query_time 被设置为 1.000000 秒。

知道为什么 MySQL 可以记录比指定更快的查询吗?

0 投票
1 回答
989 浏览

mysql - 使用 Percona pt-query-digest 仅分析特定数据库的慢查询日志

Percona 工具脚本 pt-query-digest 看起来对于分析 MySQL 慢查询日志非常有用。有人知道我如何让脚本只查看与特定数据库相关的查询吗?

谢谢

0 投票
5 回答
172 浏览

mysql - 如何优化对大表的查询

我现在有一张包含 18,310,298 条记录的表。

下一个查询

具有下一个结构

和 MySQL 解释显示下一个

在每日高峰使用时间运行此类查询大约需要 5 秒。

我该怎么做才能让它更快?

更新:关于我修改 INDEX 并在 WHERE 子句中取消 DATE 函数的所有评论

它似乎运行得更快。感谢大家。