2011-01-28 9 views
0

私のテーブルでは、テーブルに300を超えるレコードがあります。特定のテーブルに対してクエリの実行が遅い

例えば、私は

select top 200 * from tablename 

を実行し、場合、それは速く実行されます。しかし、私は実行する場合

select top 301 * from tablename

それは長い時間のために実行しています.....また

は、私はすべて次のクエリを実行することはできません。

select * from tablename

...それは遅すぎる...

そのテーブルの301の後のレコードを削除したいと思います。

+0

300レコードを?ええと、それほど多くはありません! –

+1

「200」と「301」の間に少なくとも1つの行をロックしているオープントランザクション(コミットされていない挿入/更新/削除)によってブロックされているようです。 'tablename(nolock) –

+0

または301レコードの後に​​削除する方法 – Karthik

答えて

1

テーブルの幅はどれくらいですか?テーブル定義はどのようなものですか?

あなたはID列を持っている場合は、ちょうどこの実行することができます:

delete from dbo.Table where TableID>301 
関連する問題