[英]How inaccurate can the sys.dm_db_partition_stats.row_count be in getting an Azure SQL DB row count for each table?
[英]Faster row count SQL Server 2008 sys.dm_db_partition_stats with Where clase
SELECT SUM(row_count)
FROM sys.dm_db_partition_stats
WHERE object_id = OBJECT_ID('TableName')
人們說上面的查詢比select count (*)
更快。
我想知道使用sys.dm_db_partition_stats select count(*) from table where name = 'awt'
的等價物。
謝謝。
從sys.dm_db_partition_stats
的文檔:
返回當前數據庫中每個分區的頁面和行計數信息。
這是SQL Server維護的聚合信息,以便能夠管理用於保存用戶數據的結構。 該動態管理視圖中沒有關於分區中值分布的信息。 在其他地方,它可以優化查詢,保留統計數據,但這又是聚合數據(並不是為每次數據更改而維護)。
如果您只想計算滿足某些特定條件的行,那么您將不得不計算它們。 (您考慮過添加索引嗎?)
考慮到以下情況,這絕對是可用的更快方法之一。
收集統計信息將花費大量時間在較大的表上
如果您想要始終准確計數,則需要更新統計信息。
如果您的要求是知道計數(估計和近似數字),這是最好的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.