问题标签 [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.
mysql - mysql慢日志:简单select查询耗时26秒
我有一个使用 InnoDB 的简单表:
表中只有 106 个标签,有时这个简单的选择查询需要 10s、16s、30s 或更多:
我的问题:有没有办法优化这个查询(所以它不会需要 26 秒才能完成)或者这是 MySQL 服务器过载的明显迹象?如果我从共享主机升级到 VPS,我会解决这个问题吗?
mysql - mysql:慢查询日志:sleep(60)?
在运行良好 417 天后,我试图了解是什么导致我的灯服务器自四天以来每天超时几次。
查看正在运行的进程top
可能指向mysql。所以我查看了慢查询日志,只发现了这个。
你能帮我理解吗?这条线select sleep(60)
特别让我担心。特别是,因为它不在我的网站代码库中。
mysql - MySQL 是否有查询队列以及慢日志中的 query_time 背后是什么?
什么时间戳用于计算mysql慢查询日志中的query_time参数?找不到该参数的任何定义。我唯一发现的是
获取初始锁的时间不计入执行时间。
来自:http ://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html
我问这个问题是因为我想知道慢速日志中的“request_time”给出的时间是否包括队列中的等待时间(如果有的话)。
如果有一些队列,是否有可能在执行新查询时记录当前等待队列长度(最好在慢日志中)。
如果没有队列,如果所有线程当前都在执行某个查询,mysql 如何处理传入的查询?更新:将这些查询保留在 TCP 缓冲区中,直到它们可以被线程执行?
欢迎提供进一步阅读的链接。
问候科尔比尼安
mysql - 大表的简单 SELECT 查询很慢
我有一个具有以下结构的表
我有一个从这里提取数据的基本查询,这真的很慢。所以我将查询分解为更简单的术语,发现这个非常简单的查询很慢(17.52 秒):
该表有 6,274,617 行。事实上,SELECT COUNT(*) FROM data_temperature
也需要 3.66 秒。
运行此查询的系统是我的开发系统,它是一个运行 Ubuntu 14.04、4GB RAM 和固态驱动器的四核系统。
这是关于运行这样的查询需要多长时间,还是我做错了什么?有没有更有效的方法来返回数据?
php - MySQL 的 EXPLAIN INSERT 不可用:如何理解 INSERT 是否慢?
最初我试图在我的脚本中找到慢查询。困扰我的一件事是INSERT
查询,因为我在表中有几个索引(据我所知,在这种情况下插入不会是即时的,因为每次都应该重新计算索引)。
我的托管公司(siteground)限制我访问 MySQL 日志以调查慢查询的实际情况。所以我需要搜索任何绕过方式来找到问题。
现在我只是在 phpmyadmin 中执行可疑查询并检查查询所花费的时间是否正常。
但是我看到了这种方法的一些弱点:
我将根据当前服务器负载获得执行时间。因此,如果服务器当时很忙,我会夸大时间。
如果查询被缓存,我会被低估的时间。
我需要真正更改数据库数据以检查查询。像这样的查询是可以的
SELECT
,但是对于DELETE
and就变得棘手了UPDATE
。
所以最好使用另一种方法。EXPLAIN
可以是一个很好的解决方案,除非:
EXPLAIN
仅适用SELECT
于我的数据库服务器上的查询(我有 MySQL 服务器的 5.5.32 版本,来自文档的引用:在 MySQL 5.6.3 之前,SELECT 是唯一可解释的语句)。我可以解释UPDATE
并DELETE
通过EXPLAIN SELECT
替换(正确吗?)但EXPLAIN INSERT
仍然是一个大问题。
所以问题是:
如果至少有一个索引,我说得对
INSERT
吗?我可以
EXPLAIN UPDATE
通过DELETE
替换EXPLAIN SELECT
吗?除了提到的 phpmyadmin 执行和 EXPLAIN 之外,还可以使用哪些方法来调查查询速度?
我正在使用InnoDB
引擎。
mysql - 如何从 mysql 中的 mysql.slow_log 表中刷新数据?
嗨,我正在使用 MySQL 5.5 版,有人可以帮我清除/刷新 mysql 中 mysql.slow_log 表中的数据吗?
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 的同一个人中选择所有行。结果将是示例图片中的黄色和橙色行。这就是我使用内部联接的原因。
mysql - 具有 IN(1,3,8...N) 优化的 MySql BigQuery
我们有一个带有大表(30000000 行)的 MySQL 数据库,其中横幅所在的位置。我们有一个查询,例如:
问题是 IN 中的数字很大,导致查询缓慢。
我想将数字分成组进行查询,例如每组 1000
这是一个好方法吗?还是其他优化?
mysql - 慢查询日志返回检查错误的行
当我的数据库中给定表中只有 20,000 行时,返回的行数如何。请在“row_examination”中指导我。这是什么意思?
mysql - 在mysql服务器中识别没有慢查询日志的慢查询
我想知道有没有其他方法可以在不记录慢查询的情况下检查我们的慢查询。假设,我有一个非常繁忙的服务器,无法记录太多以节省内存和 I/O。那么,有没有其他方法可以检查我是否有慢查询?我知道,我们可以对查询进行分析,但仍然不确定到底要做什么来确定哪个查询是占用大部分时间和内存的查询。
刚开始mysql管理,不知道如何处理。任何指导将不胜感激。