查询花费的时间比预期的要长

Posted

技术标签:

【中文标题】查询花费的时间比预期的要长【英文标题】:Query is taking more time than expected 【发布时间】:2018-10-30 22:39:57 【问题描述】:

我有一个查询需要 18 秒才能返回结果,这是出乎意料的。这需要优化。该查询使用两个表,只有一个嵌套查询。优化它的最佳方法是什么?

有人可以帮忙

【问题讨论】:

***.com/help/mcve, ***.com/help/how-to-ask 下面的查询 - 怎么样?在你的电脑下面? 向我们展示查询、表和索引定义以及解释计划。 有机会看到该查询和表定义吗? 【参考方案1】:

Explain Plan 将描述数据库为检索数据所做的工作,当您的查询在窗口中时,可以通过按 F10 在 Oracle SQL Developer 中查看这些内容。您很可能希望成本值尽可能低。

确保表具有有效的主键,随着表中数据量的增加,外键关系将有所帮助。

如果表确实定义了关系,您可以检查是否需要Rebuild Indexes,如果它们已经过时。

【讨论】:

【参考方案2】:

如果您可以在此处发布您的查询和表结构,那就太好了。

但优化查询的最佳方法是从优化表开始。

    他们都需要有一个主键 如果需要,索引您在 where 子句中使用的键。

嵌套查询需要多长时间?可能也是一个原因。

【讨论】:

以上是关于查询花费的时间比预期的要长的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2012 远程操作花费的时间比预期的要长

Excel 加载项需要很长时间才能保存

花费很长时间执行复杂的 mySql 查询

尝试使用 Sqoop 从 DB2 获取数据到 Hbase 非常慢

MySQL索引查询对特定列值花费很长时间

Python psycopg2 - 选择查询随机花费很长时间