私の同僚は、テーブルのレコードを数えるために、次のビューを見せてくれます。
CREATE VIEW [SPR].[TablesCount]
AS
SELECT s.name cSchema,
t.name cTable,
sum(p.rows) eRowCount
FROM sys.tables t
INNER JOIN sys.schemas s
ON s.schema_id = t.schema_id
INNER JOIN SYS.partitions p
ON p.object_id = t.object_id
WHERE p.index_id < 2
GROUP BY s.name,
t.name
通常よりも劇的に高速に実行します
select count(*) from table
これはなぜですか?最短パスを常にたどるようにdbエンジンを最適化するべきではありませんか? システム テーブル ビュー ソリューションの欠点は何ですか?