简单的选择需要很长时间才能执行
Posted
技术标签:
【中文标题】简单的选择需要很长时间才能执行【英文标题】:Simple selects takes so much time to execute 【发布时间】:2017-08-30 09:10:22 【问题描述】:我有一个带有 JOIN 和 UNION 的复杂选择,它需要很长时间,所以我决定在一个简单的选择中测试它,但是这个选择仍然需要时间来执行。我已经保存了执行计划here
代码只有
SELECT pchrgqty,pchrgup,pcchrgamt FROM
hdocord
WHERE acctno = '2014-000136557'
但是执行需要1分11秒
如何加快速度? 为什么很慢?
【问题讨论】:
它正在扫描整个表。在acctno
上创建一个索引,以便它可以搜索。 (另外,请考虑通知该表的设计者 SQL Server 最多支持 128 个字符的名称,因此没有理由使用这些不可读的名称,除非您必须与某种遗留系统兼容。)
@JeroenMostert 我无权访问数据库。请问acctno
的索引怎么加?这样我就可以尝试添加它。您可以提供它作为答案
【参考方案1】:
您可以尝试添加缺少的索引只是运行此 SQL 语句:
CREATE NONCLUSTERED INDEX ix_hdocord_acctno ON hdocord
(
acctno ASC
)
ON [PRIMARY]
如果他们没有给你足够的权限,它将失败。
【讨论】:
以上是关于简单的选择需要很长时间才能执行的主要内容,如果未能解决你的问题,请参考以下文章