SQL Server中表提示的目的是什么?

时间:2011-11-15 13:56:30

标签: sql sql-server sql-server-2008

SQL Server中的表提示有什么用途,如NOLOCKREADUNCOMMITTED

请举例解释。

另外,为什么不能为INSERTUPDATEDELETE操作修改的表格指定它们?

2 个答案:

答案 0 :(得分:3)

它们允许您逐个表地设置事务隔离级别,而不是整个查询或连接。

它们还可用于触发某些功能,例如最小日志记录(使用TABLOCK并在INSERT上设置正确的跟踪标记,并且可以将其记录得最少。

通常,使用连接级设置更好。

答案 1 :(得分:1)

正如评论员指出的那样,联机丛书对表格提示有很好的描述(和样本),包括哪些提示可以用于哪些操作。

http://msdn.microsoft.com/en-us/library/ms187373.aspx

页面顶部还有一个很大的警告,经常被忽视:

  

警告因为SQL Server查询优化器通常会选择   查询的最佳执行计划,我们建议仅使用提示   作为经验丰富的开发人员和数据库的最后手段   管理员。

虽然优化者在选择最佳计划时的准确性值得商榷,但警告的后半部分肯定是正确的;不要使用表提示,除非您确定需要它们,并且这种保证通常只有经验。