|
|
1
4
显然,它可以,正如你自己所展示的。 为什么?最明显的原因是优化器知道临时表的大小。这为优化查询提供了更多信息。CTE只是一个估计。因此,您看到的改进是由于查询计划。
有时,您故意将cte具体化为临时表,以便向它们添加索引。这也可以提高性能。
|
|
2
2
考虑CTE1是昂贵的
以上保证cte1只运行一次。
即使使用了临时参数,也应该考虑索引/PK并对插入进行排序。 |
|
|
3
2
这取决于许多因素。如果可以的话,尽量写一句话。过早的优化是很多罪恶的根源。 如果确实遇到性能问题,则分解单个语句有以下几点好处:
|