为什么DATEADD会减慢SQL查询的速度?

jing

在我的SQL Server查询中,我尝试获取2秒范围的数据:

DECLARE @runtime AS datetime
SELECT @runtime = '2014-02-15 03:34:17'

SELECT Application FROM commandcip 
WHERE 
    commandname = 'RunTestCase' AND 
    (createdate BETWEEN DATEADD(s, -1, @runtime) AND DATEADD(s, 1, @runtime))

该命令非常慢,需要花费几分钟,并且基于性能分析器估计子树成本为2800。

另一方面,如果我手动计算范围,查询将非常快(估计子树成本= 0.5,查询时间<1秒):

SELECT Application FROM commandcip 
WHERE 
    commandname = 'RunTestCase' AND 
    createdate BETWEEN '2014-02-15 03:34:16' AND '2014-02-15 03:34:18'

我验证了这两个命令都返回了正确的数据。我确认我的DATEADD命令返回了正确的日期。我也试图让DATEADD一步迟早(成独立的变量@mindate@maxdate),但它并没有帮助。

如何在不手动计算范围的情况下加快第一次查询的速度?

马丁·史密斯

对于createdate BETWEEN '2014-02-15 03:34:16' AND '2014-02-15 03:34:18'文字值,可以在列统计信息中查找以估计将匹配的行数。

除非您使用变量,否则不会嗅探变量的值,除非您使用option (recompile)SQL Server,否则SQL Server只会使用试探法来猜测数字。

假定使用第一个数字得出的计划与使用第二个数字得出的计划不同。

例如,一个估计较少的行,并使用具有查找的非覆盖索引,而另一个进行完全扫描,因为估计的行数高于临界点,在该临界点处此选项认为更便宜。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么DATEADD会减慢SQL查询的速度?

来自分类Dev

Postgres:为什么添加索引会减慢正则表达式查询的速度?

来自分类Dev

为什么异步会减慢独立的后续代码的速度?

来自分类Dev

为什么嵌套字典会减慢 numpy 保存速度?

来自分类Dev

ORDER BY子句会减慢查询速度吗?

来自分类Dev

为什么lxsession-logout会减慢X窗口系统的速度?

来自分类Dev

为什么移动缓冲区指针会减慢读取速度(C编程语言)?

来自分类Dev

为什么HDD活动会减慢整个系统的速度(在Windows 7上)?

来自分类Dev

为什么lxsession-logout会减慢X窗口系统的速度?

来自分类Dev

将结果保存在一个目录中时,为什么会减慢模拟速度?

来自分类Dev

为什么添加并行 for 循环会减慢单线程循环的速度?

来自分类Dev

SQL Server存储的proc减慢查询速度

来自分类Dev

SQL Server存储的proc减慢查询速度

来自分类Dev

为什么REJECT会减慢nmap?

来自分类Dev

加入表值函数会减慢查询速度

来自分类Dev

插入文件时,MySQL查询会减慢速度

来自分类Dev

MySQL 查询在较长的日期范围内会大大减慢。为什么?

来自分类Dev

排序减慢查询速度

来自分类Dev

什么会减慢Steam和Origin的下载速度?

来自分类Dev

什么会减慢Steam和Origin的下载速度?

来自分类Dev

eval()正在减慢其他代码的速度,为什么呢?

来自分类Dev

将数据库移到远程服务器会减慢联接查询的速度

来自分类Dev

触发器中的RAISE NOTICE'文本'是否会减慢Postgresql中的查询速度?

来自分类Dev

OR子句减慢SQL查询

来自分类Dev

NOLOCK提示会减慢操作速度吗?

来自分类Dev

HttpWebRequest可能会减慢网站速度

来自分类Dev

从IdentityDbContext <T>继承会减慢测试速度

来自分类Dev

Linux磁盘访问会减慢系统速度

来自分类Dev

通道会减慢读取速度吗?

Related 相关文章

  1. 1

    为什么DATEADD会减慢SQL查询的速度?

  2. 2

    Postgres:为什么添加索引会减慢正则表达式查询的速度?

  3. 3

    为什么异步会减慢独立的后续代码的速度?

  4. 4

    为什么嵌套字典会减慢 numpy 保存速度?

  5. 5

    ORDER BY子句会减慢查询速度吗?

  6. 6

    为什么lxsession-logout会减慢X窗口系统的速度?

  7. 7

    为什么移动缓冲区指针会减慢读取速度(C编程语言)?

  8. 8

    为什么HDD活动会减慢整个系统的速度(在Windows 7上)?

  9. 9

    为什么lxsession-logout会减慢X窗口系统的速度?

  10. 10

    将结果保存在一个目录中时,为什么会减慢模拟速度?

  11. 11

    为什么添加并行 for 循环会减慢单线程循环的速度?

  12. 12

    SQL Server存储的proc减慢查询速度

  13. 13

    SQL Server存储的proc减慢查询速度

  14. 14

    为什么REJECT会减慢nmap?

  15. 15

    加入表值函数会减慢查询速度

  16. 16

    插入文件时,MySQL查询会减慢速度

  17. 17

    MySQL 查询在较长的日期范围内会大大减慢。为什么?

  18. 18

    排序减慢查询速度

  19. 19

    什么会减慢Steam和Origin的下载速度?

  20. 20

    什么会减慢Steam和Origin的下载速度?

  21. 21

    eval()正在减慢其他代码的速度,为什么呢?

  22. 22

    将数据库移到远程服务器会减慢联接查询的速度

  23. 23

    触发器中的RAISE NOTICE'文本'是否会减慢Postgresql中的查询速度?

  24. 24

    OR子句减慢SQL查询

  25. 25

    NOLOCK提示会减慢操作速度吗?

  26. 26

    HttpWebRequest可能会减慢网站速度

  27. 27

    从IdentityDbContext <T>继承会减慢测试速度

  28. 28

    Linux磁盘访问会减慢系统速度

  29. 29

    通道会减慢读取速度吗?

热门标签

归档