0

ストア データ用の独自のデータ ストア メカニズムがあります。しかし、エンドユーザー向けに標準のデータ操作とクエリインターフェイスを実装したいので、QT sqlが私の場合に適していると思いました。しかし、SQLクエリのインデックスをどのように使用するのかまだ理解できません。たとえば、列 A(int)、B(int)、C(int)、D(int) を持つテーブルがあり、列 A にインデックスが付けられているとします。次のようなクエリを実行するとします。
select * from Foo where A = 10;

検索結果にインデックスを含めるにはどうすればよいですか?

4

1 に答える 1

2

独自のストレージ システムを作成し、それを SQL のような構文を使用して操作したいとお考えですか? Qt SQL がその仕事に適したツールだとは思いません。さまざまな SQL サーバーへの接続を提供しますが、SQL ステートメントの解析用ではありません。Qt はクエリを「パススルー」し、結果セットを解析して Qt に適した表現に変換することを想定しています。

したがって、Qt に適した表現だけが必要な場合は、SQL で間接化する理由がわかりません。

しかし、あなたの問題に関して: SQL では、通常、インデックスはクエリではなく、テーブル スキーマの作成中に記述されます。しかし、SQL サーバーにはインデックスを「ヒント」する可能性があります。それはあなたが探しているものですか?

SELECT column_list FROM table_name WITH (INDEX (index_name) [, ...]);

于 2012-11-20T13:06:43.560 に答える