データベースに1.000.000
レコードを含むテーブルがあるとします。
私が実行した場合:
SELECT * FROM [Table] LIMIT 1000
1000
このクエリは、レコードを含むテーブルを持っている場合と同じ時間がかかりますか?
SELECT * FROM [Table]
?
まったく同じ時間がかかるかどうかを探しているわけではありません。最初のものの実行に2番目のものよりもはるかに時間がかかるかどうかを知りたいだけです。
私は1.000.000
記録と言いましたが、そうかもしれません20.000.000
。それはほんの一例でした。
編集:
もちろん、LIMITを使用して同じテーブルで使用しない場合、LIMITを使用して構築されたクエリはより速く実行されるはずですが、私はそれを求めていません...
ジェネリックにするには:
Table1
:X
レコード
Table2
:Y
レコード
(X << Y)
私が比較したいのは:
SELECT * FROM Table1
と
SELECT * FROM Table2 LIMIT X
編集2:
これが私がこれを求めている理由です:
私はデータベースを持っており、5 つのテーブルとそれらのいくつかの間の関係があります。それらのテーブルの 1 つ (100% 確信しています) には about5.000.000
レコードが含まれます。SQL Server CE 3.5、Entity Framework を ORM として使用し、LINQ to SQL を使用してクエリを作成しています。
基本的に 3 種類の単純でないクエリを実行する必要があり、ユーザーにレコードの制限を表示することを考えていました (多くの Web サイトがそうであるように)。ユーザーがより多くのレコードを表示したい場合、オプションは検索をさらに制限することです。
X
それで、私がこれを行うことを考えていたので(クエリごとのレコードに制限する)、またはデータベースX
にいくつかの削除を行う必要がある結果(最近のもの)のみをデータベースに保存することを考えていたので、質問が出てきましたが、私はちょうど考えていました...
したがって、そのテーブルには5.000.000
複数のレコードが含まれる可能性があり、ユーザーなどを表示したくないのですが、このようにしても、クエリは行1000
を返す場合と同じくらい遅くなります。5.000.000