问题标签 [explain]
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 - 使用 Order By 的慢速 SQL 查询
我远离 SQL 大师,我正在尝试执行:
order by 比没有 order by 慢 20 倍。
给我 :
我已经尝试了 app_id、similar_app_id 上的所有索引组合以及它们的组合。
任何提示或技巧?
谢谢
mysql - 未使用 mysql 5.1.37 查询索引
我有一个表现不佳的查询。服务器版本:5.1.37-1ubuntu5.1(Ubuntu)
该表中有 547545 行。
如您所见,说明具有可能的密钥,但未使用实际密钥显示它。
有任何想法吗?似乎这应该可行,而我正在做一些愚蠢的事情。
mysql - SELECT 语句不使用 possible_keys
我有一个来自遗留系统的表,它没有主键。它记录了工厂发放材料的交易数据。
为简单起见,假设每行包含 job_number、part_number、quantity 和 date_issued。
我在发布日期列中添加了索引。当我运行 EXPLAIN SELECT * FROM issue_parts WHERE date_issued > '20100101' 时,它显示如下:
所以它看到了密钥,但它不使用它?有人可以解释为什么吗?
mysql - MySQL解释:是什么导致'使用临时; 使用文件排序'
我计划使用这个 SQL SELECT 创建一个视图,但它的解释显示它正在使用临时和使用文件排序。我无法弄清楚我需要什么索引来解决这个问题。大多数情况下,我想知道为什么它使用文件排序而不是使用索引进行排序。
这是我的表:
这是我计划在我看来使用的有问题的 SQL 语句:
解释的输出:
另一个例子,这次使用 where 子句:
解释输出:
mysql - 如何使用mysql的EXPLAIN寻找可能的问题
显然,对网站进行压力测试,一切都在崩溃。
今天的问题:几页上的WSOD。几个小时后,我将一页上的问题缩小到这个查询(我希望):它曾经在一秒钟内运行;现在它需要> 300。
运行EXPLAIN
我得到这个:
看看EXPLAIN
有没有可能告诉
- 如果发生任何全表扫描
- 如果缺少任何相关的切口
- 哪个表或连接太慢了
- 我的“寻找慢表”中的任何其他有用信息
更新:在没有 group_by (和相关的表连接)的情况下再次运行查询;仍然需要一个临时表和文件排序,所以它似乎是一个索引问题。将开始查看缺失索引的所有表。
mysql - 为什么这个查询需要这么长时间?
此查询出现在我在 mysql 系统上的慢速日志中,
您看到它检查了 405,199 行,这可能是查询时间长的原因吗?
类似的查询从未出现在我的慢日志中,该查询是:
这是解释的输出:
mysql - MySQL 命令解释忽略限制?
我使用 MySQL 服务器版本 5.5.14,现在我正在尝试使用 Explain 命令进行这个简单的 SQL 查询:
它向我展示了这个结果:
我的问题是为什么它扫描整个表而不是像我在 LIMIT 子句中指定的那样获取前 10 行?
mysql - 2个完全相同的mysql查询给出2个不同的“解释”输出:为什么?
我发现了一个非常奇怪的 mysql 行为:当我两次运行特定查询时,第二次对该查询的解释不同:
这怎么可能?
mysql - 使用 IN 子查询改进 MySQL 查询
我有一张桌子items
和一张桌子item_attributes
。
为简单起见,假设我的表项有一个 columnid
和一个 column name
。当然,列上有一个索引id
。
该item_attributes
表具有列id
、和item_id
,并且索引为 ONattribute_name
attribute_value
attrubute_name
现在我想在不使用连接的情况下查询具有特定属性的所有项目。
我使用以下查询执行此操作:
SubQuery 本身运行速度很快。
如果我先执行查询本身并将结果用于 IN 查询
它也很快。
但是,组合查询非常非常慢(> 2 秒)。如果我调查查询计划,我会明白原因:MySQL 对 items 表进行全表扫描,而不是先执行子查询并将结果用于索引查询.
有没有办法优化这个查询?我知道子查询将始终只返回一个小的结果集(<100 行)。
mysql - mySQL - 如何解释我的 EXPLAIN 结果并优化此查询?
希望了解我的EXPLAIN
结果在这里的含义,并尽我所能优化此查询和我的表。
查询:
(编辑格式)
解释结果: