我使用过各种版本的 MS SQL Server,包括 2000、2005、2008、R2、(某些)Denali。我从来没有对像存储过程中的表值参数这样的新功能如此兴奋。我也进行 C# 开发,并且正在挖掘 TVP,我使用它来最大限度地减少前端应用程序的数据库调用数量。
现在我真正的问题是使用表值参数有什么缺点。这几乎好得令人难以置信。
请分享您的想法。另外,我不想太深入地使用它并且必须改变。
最佳答案
表值参数几乎没有实际缺点。
好处
- 频繁使用时缓存
- 非常高效地促进批量插入
- 减少与服务器的往返次数
缺点:
- SQL Server 不维护 TVP 列的统计信息
- 只读
- 不能用作“Select Into”或“Insert Exec”语句的目标
- 仅适用于 Sql Server 2008 及更高版本
引用文献
关于sql-server - 存储过程中的表值参数有哪些缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7129949/