Tquery SQL ステートメントの結果セットでレコードを検索するための最良の (読み取り: 最速の) 方法は何だろうと思っています。
今まで私は TQuery.Locate を使用していました。私が正しければ、結果セットの検索に使用できる唯一のステートメントです。では、これを最適化するにはどうすればよいでしょうか。
いくつかのアイデアがありますが、大規模なデータセットでそれらすべてを比較する時間はまだありません。
次のフィールドを持つテーブルがあるとします。
Create Table aTable (
ID int,
Name1 varchar(50),
Name2 varchar(50));
そして、次のクエリ:
SELECT ID, Name1, Name2 from aTable
結果セット内の ID でレコードを検索したい
- aTable に ID のインデックスがある場合、検索は高速になりますか?
- SQL ステートメントに「Order By ID」を追加すると、検索が速くなりますか?
これに関するアイデアはありますか?
[編集] これの使用を明確にするために: クエリは Reportbuilder Dataview によって実行され、データパイプライン (TQuery.Dataset) を通じて利用可能になります。カスタム レポートでは、より高いレベルの ID に基づいてパイプラインを移動する必要があります。したがって、クエリを使用しないことはここでは適用されません。上記の私の提案のいずれかが物事をスピードアップするかどうか疑問に思っています。