I ran the following code past our architect as I thought there may have been a tautology between the isolation level and table hint:
SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED SELECT p.Forename , g.Descriptor AS PersonGender FROM dbo.Person p WITH ( NOLOCK ) , dbo.Gender g WITH ( NOLOCK ) WHERE p.GenderId = g.Id;
I am assured by the architect (and I have no reason to doubt him) that this is for high volume environments and helps the optimiser better decide about how to improve the performance of the query.
So, some questions:
- How does it do this?
- Which versions of SQL Server support this?
- Is this a documented or undocumented feature?