2016-11-03 5 views
0
SELECT * 
FROM PaymentBatchItems 
WHERE CreatedDate = '2016-11-03'; 

このクエリは約6行を返します。私はそれが7分以上実行されているのを見て、まだ実行しています。私はそこにいくつかの矛盾したデータがあるかもしれないと思うが、私は見つけるためにテーブルを照会できない。SQLクエリは永久に実行されます

私は

DBCC CHECKTABLE(PaymentBatchItems) WITH PHYSICAL_ONLY 

を実行し、それがエラーを返されません。また試しました

DBCC CHECKTABLE(PaymentBatchItems) 

またエラーも返されませんでした。

私の非常に単純なクエリをどのようにハングアップしているのか、どのようなアイデアがありますか?

+0

ネットワークに問題がありますか? CreatedDataにインデックスのないHumongous SQLテーブル? –

+0

何行あり、インデックスがあり、その列のデータ型は何ですか? – Lucero

+1

テーブルの大きさはどれくらいですか?インスタンス上で何か他のものが実行されていますか?実行計画を確認しましたか?テーブルは適切に索引付けされていますか?あなたは 'sp_who'を実行してデッドロックがあるかどうか確認しましたか? – Igor

答えて

0

テーブル構造を見ると、PaymentBatchItemsには多くのデータが含まれている可能性があるvarbinary/blob列があります。 *を返す代わりに、1つの列だけを返します。

また...

+0

SELECT *を使用するか1つの列のみを選択するかにかかわらず、クエリはまったく同じようにハングします。また、トップ100 *とトップ100を1列で使用してみましたが、同じ結果が得られました...クエリが実行されて実行され、実行されます。 – LegalEagle

1

から

選択トップ(100)*に例えば "トップ" を使用して問題を見つけました!

1日の終わりにタブを閉じると、他のサーバータブのいずれかにコミットされていないトランザクションがあることがわかりました。トランザクションをロールバックし、問題なくテーブルをクエリできました。

ありがとうございました。初心者のエラーで申し訳ありません!

関連する問題