行数を見つけるためにタブレアからカウント(1)よりも速いものはありますか?
-
04-10-2019 - |
質問
私たちがより速く獲得できるものはありますか?カウント(1)を使用する代わりに、テーブル内の行の行。さらに、2つのケースがあります。
a)いいえを取得したいとき。テーブルの行の。
b)少なくとも1つの行があるかどうかを知りたいとき。
前もって感謝します。
解決
他のヒント
b)少なくとも1つの列があるかどうかをTOTにしたいとき。
SELECT TOP 1 myField
FROM myTable [WHERE .....]
テーブル内のすべての行のカウントをスキャンせずに知るために使用できます
select SUM(row_count) AS row_count
from sys.dm_db_partition_stats
where object_id = object_id('dbo.tblName')
and index_id < 2
そのアプローチに注意が払われているかどうかはわかりません。 (おそらく、コミットされていないレコードのカウントを含めるか、現在の取引内で行われた変更を含めないかもしれません)
b)linq-to-sql生成
EXISTS (SELECT NULL FROM Table....)
a)いいえ
b)使用できます exists
関数は、結果があるかどうかをチェックし、実際には結果を取得しません。
所属していません StackOverflow