存储过程中表值参数的缺点是什么?

时间:2011-08-20 05:40:21

标签: sql-server tsql sql-server-2008 table-valued-parameters

我使用过各种版本的MS SQL Server,包括2000,2005,2008,R2,(部分)Denali。对于像存储过程中的Table Valued参数这样的新功能,我从未如此兴奋过。我也在进行C#开发,我正在挖掘TVP,我用它来减少来自我的前端应用程序的数据库调用次数。

现在我真正的问题是使用表值参数有什么缺点。它实在太好了。

请分享您的想法。另外,我不想太深入使用它,必须改变。

1 个答案:

答案 0 :(得分:5)

表值参数几乎没有实际缺点。

<强>优势

  • 频繁使用时缓存
  • 非常有效地促进批量插入
  • 减少到服务器的往返

<强>缺点:

  • SQL Server不维护TVP列的统计信息
  • 只读
  • 不能用作“选择进入”或“插入执行”语句的目标
  • 仅适用于Sql Server 2008及更高版本

<强>参考