问题标签 [query-planner]

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 回答
120 浏览

performance - 为什么 PostgreSQL 为简单的查询做出如此艰难的计划?

我有一个带有索引的 2500 万行“Zemla”表

现在我做简单的查询

并获得非常硬的查询计划

和另一个简单的查询,当我认为索引存在时应该立即执行

我的问题是,为什么 PostgreSQL 在第一次索引扫描之后会进行另一次位图堆扫描,开销如此之大?

编辑:什么是查询计划中的“位图堆扫描”?是另一个问题,因为它回答了为什么使用 OR 运算符的某些查询具有位图堆扫描。我的查询既没有 OR 也没有 AND 运算符

0 投票
2 回答
81 浏览

sql - sql查询运行速度比预期慢

我有一张桌子

a1是主键。上有一个非聚集索引a5

我有一个简单的查询:

此查询运行速度明显较慢。更新查询计划中使用的统计信息并没有太大帮助。

为什么会发生这种情况?我可能做错了什么?我是查询优化的新手。

0 投票
0 回答
66 浏览

sql-server - 将图形查询计划吐为 jpeg?

我有 SQL Server,我想获得一个图形查询计划。然后,我想将其保存为 .jpg 或 .png。这可能吗?有哪些工具可用?我是新手,似乎对这种工作没有太大兴趣 - 感谢您的帮助。

0 投票
1 回答
456 浏览

sql - 如何提高下面提到的 SQL 查询中的文本列性能

有一个 SQL union all 查询和 3 个 union all 查询。在查询中添加文本列后,查询执行时间发生了显着变化CAST(c.getQuestionId AS VARCHAR(300))。使用的数据库是SQL SERVER 2014,请性能调优高手帮忙。

上创建了 3 个索引JcccustomersAssessmentProxy。这是一个包含 8000 万条记录的表。仅在第 3 个查询中提及显式使用索引(即 ( NOLOCK, INDEX=IX_AssessmentProxy_myJcAssessmentContext))

myJcAssessmentContext 上有一个非聚集索引

getmycoordtoyplanver 上有一个非聚集索引

getMyEventItem 上有一个非聚集索引

这是实际执行计划的链接


JccClientAssessmentProxy jccWITH(NOLOCK,INDEX=IX_AssessmentProxy_GETMYCOORDCAREPLANVER) 添加索引后,这是新的执行计划

0 投票
1 回答
407 浏览

mongodb - Mongo 不会通过组合两个 IXSCAN 来优化 $or 查询

我有一个orders包含以下索引的集合,其中包括:

我正在执行以下查询:

IXSCAN我希望这将对. 的每个分支执行有效$or,然后结合结果:

相反,它只限制location中的IXSCAN,并在 中进行其余的过滤FETCH有没有办法优化这个查询而不将它分成两个单独的查询?

0 投票
1 回答
445 浏览

mongodb - 为什么在执行 IXSCAN 后 Mongo 在 FETCH 中查询空过滤器

根据Mongo 文档

{ item : null }查询匹配包含 item其值为null或不包含该item 字段的字段的文档。

我找不到这方面的文档,但据我所知,这两种情况(值是null或字段缺失)都存储在索引中作为null.

因此,如果我这样做db.orders.createIndex({item: 1})then db.orders.find({item: null}),我希望 anIXSCAN找到所有包含item其值为null或不包含该item字段的字段的文档,并且仅找到那些文档。

那么为什么在db.orders.find({item: null}).explain()表演完之后还要filter: {item: {$eq: null}}FETCH舞台上表演IXSCAN呢?可能需要过滤掉哪些可能的文档?

我想也许undefined值会被索引为null,但简单的实验排除了这一点:

0 投票
1 回答
227 浏览

mysql - 从命令行/终端创建 MySQL Workbench 查询计划映像

有没有办法从命令行或终端创建 MySQL Workbench 查询计划图像并将其保存为类似这样的图像?

在此处输入图像描述

我在这里查看了 MySQL Workbench 文档,https://dev.mysql.com/doc/workbench/en/wb-command-line-options.html。但是看不到任何这样的选择。那么,是否有黑客甚至单独的工具来创建此图像?对此的任何帮助将不胜感激。

0 投票
1 回答
2875 浏览

mysql - Hibernate查询中的Mysql索引提示

我们如何在 Hibernate 查询中指定 Mysql 索引提示?

在查询计划器没有选择正确索引的情况下,在 Mysql 查询中使用索引提示变得势在必行(参考:https ://www.percona.com/blog/2012/12/14/the-optimization-that-often-isnt-索引合并交集/)。

这可以通过此处指定的原始查询轻松完成:https ://dev.mysql.com/doc/refman/5.7/en/index-hints.html

0 投票
1 回答
1221 浏览

tsql - 避免在没有 ORDER BY 关键字的更新查询的索引计划中使用排序运算符

我有一个更新查询:-

对于上述查询,我​​得到如下执行计划:

执行计划

我试图理解为什么当我没有 ORDER BY 子句时我会得到排序运算符以及我可以做些什么来避免它。

以下是文本中的计划(又名“Showplan_text”):

0 投票
1 回答
675 浏览

postgresql - 在 postgresql 9.4 中强制 GIN 索引扫描

我有一张位置表(大约 2900 万行)

我希望以下查询表现良好。

但是生成的查询计划显示正在使用顺序扫描。

强行关闭 seq 扫描时

查询计划现在使用 gin 索引。

成本设置已粘贴在下面。

我正在寻找一种不对上述查询使用顺序扫描以及将顺序扫描设置为关闭等技巧的解决方案。

我尝试将值更新seq_page_cost为 20,但查询计划保持不变。