我想知道最好的(阅读:最快的)方法是在 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 数据视图执行,然后通过数据管道(即 TQuery.Dataset)提供。在自定义报告中,我需要根据一些更高级别的 ID 遍历管道。所以不使用查询在这里不适用。我只是想知道我上面的任何建议是否会加快速度。