Everything is based on the assumption that with(nolock) is entirely appropriate for the situtation. There are already plenty of questions out there debating whether or not to use 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)
or just (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?
Though we dont find difference between (nolock) and with(nolock) ... with (nolock) would not work in SQL Server 2000 version.
And I also noticed that when you try to pull data from linked servers, just ' (nolock) ' will not work whereas you should use ' with (nolock) '.
There is no functional difference, but eventually the syntax without
WITH
will not work. This has been deprecated:So you should be using this format:
Not using the
WITH
keyword for table hints has been deprecated since at least SQL Server 2008. Search the following topic for the phraseSpecifying table hints without using the WITH keyword.
:http://msdn.microsoft.com/en-us/library/ms143729%28SQL.100%29.aspx
(Discussions about whether you should be using
nolock
at all, of course, are separate. I've blogged about them here.)It really depends on which version of SQL Server you're on.
Checking out the latest documentation for SQL Server 2012 table hints omitting
WITH
is a deprecated feature. So whilefrom customers c (nolock)
will probably work; you should really be usingfrom customers c WITH (nolock)
Note that this is different than
from customers nolock
; where nolock would serve as the table alias.Functionally; they appear to be the same.
I tried this for a 170000+ data row result, however I did not see any difference through the query execution plan. Both work in the same way.