当前位置:  开发笔记 > 数据库 > 正文

使用CTE有哪些优点/缺点?

如何解决《使用CTE有哪些优点/缺点?》经验,为你挑选了1个好方法。

我正在考虑提高某些SQL的性能,目前CTE在脚本中被多次使用和引用.我会使用表变量来改进吗?(不能使用临时表,因为代码在函数内).



1> Meff..:

你真的要进行性能测试 - 没有是/否答案.根据Andy Living上面链接的帖子,CTE只是查询或子查询的简写.

如果您在同一个函数中调用它两次或更多次,那么如果填充表变量然后加入/选择它,可能会获得更好的性能.但是,由于表变量在某处占用空间,并且没有索引/统计信息(除了表变量上的任何声明的主键),没有办法说哪个更快.

它们都有成本和节省,这是最好的方式取决于它们引入的数据以及它们使用它们做了什么.我一直在你的情况下,在各种条件下测试速度后 - 一些函数使用CTE,其他函数使用表变量.

推荐阅读
mobiledu2402851373
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有