テーブルEliには100万レコードあります。私が次の質問をするとき:テーブルから選択カウント(*)を最適化する
Select count(*) from Eli where userId ='my_user'
結果を得るのに10分以上かかる。私はウェブを検索し、http://dbatipster.blogspot.com/2009/08/get-row-counts-fast.html
からクエリを最適化するためのより良い方法を見つけました。
私はきちんとテーブルを構築する上で触れることなく、私の上記query-
SELECT OBJECT_NAME(i.id) [Table_Name], i.rowcnt [Row_Count]
FROM sys.sysindexes i WITH (NOLOCK)
WHERE i.indid in (0,1)
ORDER BY i.rowcnt desc
'userID'のインデックスを作成しましたか? – WillardSolutions
100万行は大きな数ではありません。カバリングインデックスがない場合でも、フルテーブルスキャンを実行するのに10分間は実行しないでください。 Bte、第2セレクトは、WHERE条件なしで行カウントにのみ使用できます。 – dnoeth