问题标签 [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 投票
1 回答
248 浏览

mysql - mysql慢日志:简单select查询耗时26秒

我有一个使用 InnoDB 的简单表:

表中只有 106 个标签,有时这个简单的选择查询需要 10s、16s、30s 或更多:

我的问题:有没有办法优化这个查询(所以它不会需要 26 秒才能完成)或者这是 MySQL 服务器过载的明显迹象?如果我从共享主机升级到 VPS,我会解决这个问题吗?

0 投票
1 回答
441 浏览

mysql - mysql:慢查询日志:sleep(60)?

在运行良好 417 天后,我试图了解是什么导致我的灯服务器自四天以来每天超时几次。

查看正在运行的进程top可能指向mysql。所以我查看了慢查询日志,只发现了这个。

你能帮我理解吗?这条线select sleep(60)特别让我担心。特别是,因为它不在我的网站代码库中。

0 投票
1 回答
732 浏览

mysql - MySQL 是否有查询队列以及慢日志中的 query_time 背后是什么?

什么时间戳用于计算mysql慢查询日志中的query_time参数?找不到该参数的任何定义。我唯一发现的是

获取初始锁的时间不计入执行时间。

来自:http ://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html

我问这个问题是因为我想知道慢速日志中的“request_time”给出的时间是否包括队列中的等待时间(如果有的话)。

如果有一些队列,是否有可能在执行新查询时记录当前等待队列长度(最好在慢日志中)。

如果没有队列,如果所有线程当前都在执行某个查询,mysql 如何处理传入的查询?更新:将这些查询保留在 TCP 缓冲区中,直到它们可以被线程执行?

欢迎提供进一步阅读的链接。

问候科尔比尼安

0 投票
1 回答
5927 浏览

mysql - 大表的简单 SELECT 查询很慢

我有一个具有以下结构的表

我有一个从这里提取数据的基本查询,这真的很慢。所以我将查询分解为更简单的术语,发现这个非常简单的查询很慢(17.52 秒):

该表有 6,274,617 行。事实上,SELECT COUNT(*) FROM data_temperature也需要 3.66 秒。

运行此查询的系统是我的开发系统,它是一个运行 Ubuntu 14.04、4GB RAM 和固态驱动器的四核系统。

这是关于运行这样的查询需要多长时间,还是我做错了什么?有没有更有效的方法来返回数据?

0 投票
1 回答
2258 浏览

php - MySQL 的 EXPLAIN INSERT 不可用:如何理解 INSERT 是否慢?

最初我试图在我的脚本中找到慢查询。困扰我的一件事是INSERT查询,因为我在表中有几个索引(据我所知,在这种情况下插入不会是即时的,因为每次都应该重新计算索引)。

我的托管公司(siteground)限制我访问 MySQL 日志以调查慢查询的实际情况。所以我需要搜索任何绕过方式来找到问题。

现在我只是在 phpmyadmin 中执行可疑查询并检查查询所花费的时间是否正常。

但是我看到了这种方法的一些弱点:

  • 我将根据当前服务器负载获得执行时间。因此,如果服务器当时很忙,我会夸大时间。

  • 如果查询被缓存,我会被低估的时间。

  • 我需要真正更改数据库数据以检查查询。像这样的查询是可以的SELECT,但是对于DELETEand就变得棘手了UPDATE

所以最好使用另一种方法。EXPLAIN可以是一个很好的解决方案,除非:

  • EXPLAIN仅适用SELECT于我的数据库服务器上的查询(我有 MySQL 服务器的 5.5.32 版本,来自文档的引用:在 MySQL 5.6.3 之前,SELECT 是唯一可解释的语句)。我可以解释UPDATEDELETE通过EXPLAIN SELECT替换(正确吗?)但EXPLAIN INSERT仍然是一个大问题。

所以问题是:

  1. 如果至少有一个索引,我说得对INSERT 吗?

  2. 我可以EXPLAIN UPDATE通过DELETE替换EXPLAIN SELECT吗?

  3. 除了提到的 phpmyadmin 执行和 EXPLAIN 之外,还可以使用哪些方法来调查查询速度?

我正在使用InnoDB引擎。

0 投票
4 回答
9050 浏览

mysql - 如何从 mysql 中的 mysql.slow_log 表中刷新数据?

嗨,我正在使用 MySQL 5.5 版,有人可以帮我清除/刷新 mysql 中 mysql.slow_log 表中的数据吗?

0 投票
1 回答
1007 浏览

mysql - Rows_sent: 851 Rows_examined: 1649439,查询很慢

从 mysql-slow-log 记录:

Query_time:11.632750 Lock_time:1.317329 Rows_sent:851 Rows_examined:1649439

表中有大约 80 万行,record但查询为什么会检查超过 100 万行?

我已经为 tabledept和 table设置了索引school,但我不确定如何为内部连接部分创建索引。我读了一个先前的问题(Rows_sent: 12 Rows_examined: 549024 - how to optimize mySQL query?),但仍然无法解决我的极慢查询。

已编辑(为什么要进行内部连接):

我想从具有 dept_id=12345 的同一个人中选择所有行。结果将是示例图片中的黄色和橙色行。这就是我使用内部联接的原因。

表记录示例

0 投票
0 回答
33 浏览

mysql - 具有 IN(1,3,8...N) 优化的 MySql BigQuery

我们有一个带有大表(30000000 行)的 MySQL 数据库,其中横幅所在的位置。我们有一个查询,例如:

问题是 IN 中的数字很大,导致查询缓慢。

我想将数字分成组进行查询,例如每组 1000

这是一个好方法吗?还是其他优化?

0 投票
1 回答
79 浏览

mysql - 慢查询日志返回检查错误的行

当我的数据库中给定表中只有 20,000 行时,返回的行数如何。请在“row_examination”中指导我。这是什么意思?

0 投票
1 回答
1137 浏览

mysql - 在mysql服务器中识别没有慢查询日志的慢查询

我想知道有没有其他方法可以在不记录慢查询的情况下检查我们的慢查询。假设,我有一个非常繁忙的服务器,无法记录太多以节省内存和 I/O。那么,有没有其他方法可以检查我是否有慢查询?我知道,我们可以对查询进行分析,但仍然不确定到底要做什么来确定哪个查询是占用大部分时间和内存的查询。

刚开始mysql管理,不知道如何处理。任何指导将不胜感激。