with(nolock) 或 (nolock) - 有区别吗?

一切都基于 with(nolock) 完全适合这种情况的假设.已经有很多问题在争论是否使用 with(nolock).

我环顾四周,无法找到使用 with(nolock) 之间是否存在实际差异:

I've looked around and haven't been able to find if there is an actual difference between using with(nolock):

select customer, zipcode from customers c with(nolock) 

或者只是(nolock):

select customer, zipcode from customers c (nolock) 

两者在功能上有区别吗?风格?
一个比另一个旧并且有可能被弃用?

Is there a functional difference between the two? Stylistic?
Is one older than the other and has a chance of being deprecated?

推荐答案

没有功能上的区别,但最终没有WITH的语法是行不通的.这已被弃用:

There is no functional difference, but eventually the syntax without WITH will not work. This has been deprecated:

select customer, zipcode from customers c (nolock) 

所以你应该使用这种格式:

So you should be using this format:

select customer, zipcode from customers c with (nolock) 

至少从 SQL Server 2008 开始,不推荐使用 WITH 关键字作为表提示.在以下主题中搜索短语 Specifying table hints without using the WITH 关键字.:

Not using the WITH keyword for table hints has been deprecated since at least SQL Server 2008. Search the following topic for the phrase Specifying table hints without using the WITH keyword.:

http://msdn.microsoft.com/en-us/library/ms143729%28SQL.100%29.aspx

(当然,关于是否应该使用 nolock 的讨论是分开的.我在这里写过关于他们的博客.)

(Discussions about whether you should be using nolock at all, of course, are separate. I've blogged about them here.)

相关文章