作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
自 SQL Server 2000 以来,我们一直在使用多个嵌套查询来实现报告目的。
select * from
(select * from t1) t1
inner join
(select * from t2) t2
on........
我们最近将数据库从 SQL Server 2000 Enterprise 升级到 SQL Server 2008 Standard。我们注意到其中一些旧查询现在运行速度非常慢甚至超时。数据库的大小确实没有太大变化。
我们通过用临时表替换一些嵌套查询来解决上述问题。
但是,我们仍然不确定嵌套是否运行缓慢,现在临时表是否运行得更好。我们没有对 join 或 where 子句进行任何更改。
任何见解或想法都会有所帮助。
最佳答案
一般来说,单个查询比使用临时表和多个查询慢的情况是不常见的。因此,升级后的 SQL Server 似乎可能不了解有关数据的最新信息。
升级 SQL Server 后,您应该确保有关数据库的信息是最新的。您绝对应该做的一件事是更新数据库表的统计信息。
您可能还会发现,使用较新的 SQL Server 版本可能有更好的方法来运行查询。因此,在更新统计信息后,您可以查看当前 SQL Server 版本的新功能。
关于sql - 数据库版本升级后子查询性能变差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3765203/
我是一名优秀的程序员,十分优秀!