SELECT SM.ModelId, U.UserCount INTO #SMSELECTCOUNT(DISTINCT U.UserNumber) AS UserCountJOIN Equ E (NOLOCK) ON T.Equid = E.EquidJOIN EquReq ER (NOLOCK) ON E.EquReqid = ER.EquReqid
LEFT
我有CTE,里面都使用NOLOCK。但是使用子CTE的父CTE中的这些CTE中的select在假定它已经是NOLOCK的情况下不使用NOLOCK。最后的select也不使用NOLOCK。大概是这样的:(select * from tab1 (nolock)),(select * from cte1)
with cte1 asct
OperatorTypeName AS Group1, Company.CompanyName AS Group2, SUM(Adv.Price) FROM Adv (nolock) ON Adv.ProgramID = Program.ProgramID ON Campaign.CampaignID = Campaign2Product.CampaignID
INNER
--Some selection of 10s of columns(select dbo.fn_getUserMAN(( JOIN FLOWDOCUMENTS(nolock) FD ON Fm.ID = FD.FILEPROFILEID inner join FLOWREQUESTS(nolock) FQ on BB.
我有一个存储过程,当NOLOCK提示添加到查询中时,它会执行更多的读取操作。我被搞糊涂了--有人知道为什么吗?SELECT * FROM dbo.<table-name> WITH (NOLOCK).
它正在进行40,000次读取,但只有不到2,000行。我确定这些读取大部分是由3个文本列引起的。(如果我省略了这些,就会减少到59个阅读数!)但是当我删除WITH (NOLOCK)时,它从40,000次读取增加到13,000次。我重复了几次,因为我认为我肯定搞砸了,但这两种情况都是一致的。
*/ (SELECT COUNT(1) FROM People WITH(NOLOCK) LEFT JOIN LinkPeopleToCompaniesWITH(NOLOCK) ON WHERE (LinkPeopleToCompanies.ToDate) LEFT JOIN
LinkPeopleToCompanies WITH(NOLOCK</em