SQLiteの場合、SQLクエリQを使用して、C++ APIを使用してQの推定クエリ実行コストをSQLiteのクエリオプティマイザから取得する方法を見つけようとしています。SQLite:クエリオプティマイザからのクエリコストの取得
この問題を調査したところ、SQLiteのWebサイトでこのコストに関する多くの議論があり、クエリオプティマイザで内部的にどのように使用されているのかが分かりました。しかし、私はこのコストを得るためのC++ APIコールを見つけることができません。
私はこのような呼び出しが実装されていないと思うかもしれませんが、おそらく誰かがこのコストをSQLiteから得る方法を知っている可能性がありますか?
ありがとうございます!私は誰かが既にソースを見て、それを行う方法を知っていることを望んでいた:)私は –
ありがとう!誰かが既にソースコードを見て、それを行う方法を知っていることを期待していました:) 「費用」を探しているSQLiteのソースコードを見てきましたが、そのような見積もりを手早く得る方法を見つけることができませんでした。 正確には、2つの異なるSQLクエリがある場合、これらのクエリが実行される前に、どちらがSQLiteのオプティマイザに従って高価であるかを知ることができる必要があります。実際の走行時間そのものの見積もりは必要ありません。 –
'Parse'構造体の' nQueryLoop'を参照してください。 'sqlite3WhereEnd()'は古い値を再帰的に復元するので、 'Parse'の別のフィールドに保存し、' sqlite3Prepare() 'の文にコピーしてください。 –