我有自己的数据存储机制来存储数据。但我想为最终用户实现标准的数据操作和查询接口,所以我认为 QT sql 适合我的情况。但我仍然无法理解如何将我的索引用于 sql 查询。例如,我有一个包含 A(int)、B(int)、C(int)、D(int) 列的表,并且 A 列被索引。假设我执行查询select * from Foo where A = 10;
如何让我的索引参与搜索结果?
您已经编写了自己的存储系统并希望使用类似 SQL 的语法来操作它?我不认为 Qt SQL 是适合这项工作的工具。它提供与各种 SQL 服务器的连接,并不用于解析 SQL 语句。Qt 期望“通过”查询,然后以某种方式解析结果集并将其转换为 Qt 友好的表示。
因此,如果您只想拥有 Qt 友好的表示,我看不出有理由使用 SQL 进行间接处理。
但是关于您的问题:在 SQL 中,索引通常不在查询中声明,而是在创建表模式期间声明。但是 SQL Server 有可能“提示”索引,这就是你要找的吗?
SELECT column_list FROM table_name WITH (INDEX (index_name) [, ...]);