計算大量數據的表可能非常緩慢,有時需要幾分鐘;它也可能在繁忙的服務器上產生死鎖。我想顯示實際值,NOLOCK不是一個選項。SQL Server計數較慢
我使用的服務器是SQL Server 2005或2008 Standard或Enterprise - 如果它很重要。 我可以想象,SQL Server維護每個表的計數,如果沒有WHERE子句,我可以很快得到這個數字,對吧?
例如:
SELECT COUNT(*) FROM myTable
應立即返回正確的值。我是否需要依靠統計數據進行更新?
得到一個[查詢執行計劃(http://stackoverflow.com/questions/7359702/how-do -i-obtain-a-query-execution-plan),然後我們可以說...('SELECT COUNT'直接查詢表格而不是使用統計數據,因爲統計數據可能已過時) – Justin
愚蠢的問題,但是你有索引嗎? – Kermit
@FreshPrinceOfSO如果您依靠'Id'(bigint,主鍵,標識規範= true),它仍然很慢。 – ANeves