異なるフィールド値で失敗する面白いテーブルクエリ(SQL Server 2008)があります。誰もこれを見たことがありますか?フィルタ値によってクエリが失敗する
これは罰金(500ミリ秒)を実行
SELECT ROW_NUMBER() OVER (ORDER BY StatisticNo asc) AS RowId, Statistics.*
FROM Statistics
WHERE myear = 2010
これは長い時間の後に完了した(> 3分)
SELECT ROW_NUMBER() OVER (ORDER BY StatisticNo asc) AS RowId, Statistics.*
FROM Statistics
WHERE myear = 2011
の表は、興味深いことに、それが正常に動作2010年と2011年の両方のデータが含まれています2012年には現在空のセットであるフィルタオプションとして使用されます。正規化された問題がないかどうかを確認し、データがないかヌルになっていないか確認しました。 myearフィールドは必須の数値です。
テーブルにオープンまたはアクティブなロックがありません。これは1日1回書かれた統計表です。
開いているトランザクションがあるかどうかを確認するには、 'DBCC OPENTRAN dbname'を実行します。 –
'myear = 2011'のレコードがありますか? – Lazarus
各クエリの前に 'DBCC FREEPROCCACHE'を実行するとどうなりますか?今の時代はどのように積み上げているのですか? –