SQL Server 2012:我有一个存储过程,其参数为用户定义的表类型。
要创建其返回行集,存储过程将从连接到param表的视图中的几列中选择,这些列都不具有索引(由于其他原因,这很难添加)。
最好:
该视图最多可包含约100万行。
这两种方式都有优势吗?还是SQL Server以类似的方式在内部实现这两种方法?
答案 0 :(得分:1)
我将从创建临时表开始,在其中插入用户定义的表类型。定义的表类型实际上是一个表变量,在某些情况下将表变量与其他对象连接非常慢,因为SQL引擎无法很好地了解该表变量有多少行。
可以优化的第二件事是视图。这里的问题是: