gpt4 book ai didi

azure - 为什么此 Azure SQL 查询非常慢?

转载 作者:行者123 更新时间:2023-12-03 05:03:37 27 4
gpt4 key购买 nike

我有一个包含大约 100 万行的小表,我正在对其运行以下查询。

SELECT *
FROM TillBasicData
WHERE companyid = 'BE_AA'
AND languagecode = 'eng'
AND noos14 LIKE '%09258384374953%';
--09258384374953,09258387354952

问题是执行时间接近 1 分钟。

我添加了以下索引来尝试加快速度

CREATE INDEX IX_TillBasicData
ON dbo.tillbasicdata (companyid DESC, languagecode DESC, noos14 DESC);

这有点帮助,将其缩短到大约 30 秒,但我仍然不明白为什么需要这么长时间,我只能假设它与 LIKE 语句有关,但我能做些什么来加快速度?

在这么小的表上,我假设查询执行时间不到 1 秒。

最佳答案

这里有几个问题:

  • 您从表格中选择的列数量未知
  • 正如您所说,LIKE 语句。

要进行正确的分析,最好查看执行计划,这是一个很常见的问题,所以我想说可能会发生两件事:

  • 根据您的情况进行全表扫描
  • 基于 companyidlanguagecode 的非聚集索引查找以及基于 noos14 的过滤谓词和一个键查找运算符,该运算符检索所有其他列来自不在索引中的表。

因此,为了解决您的问题,只需更改索引以包含所有必需的列,并将 SELECT * 替换为您需要的列的显式列表。

关于azure - 为什么此 Azure SQL 查询非常慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50403574/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com