Firebird 2.5を使用しており、自分で解決できない問題が発生しました。PLANを更新またはINSERT INTOで使用する方法
UPDATE OR INSERT INTO
を使用するステートメントがあります。私はそれに特定の実行計画を使用させたいと思います。しかし - 私はPLAN
を置くどんなに - 私は次のエラーメッセージ(行番号がPLAN
の位置によって異なります)を取得:
無効なトークンを。
動的SQLエラーです。
SQLエラーコード= -104。
トークンが不明 - 2行目、5列目。
計画。
私はcorresponding documentationでUPDATE OR INSERT INTO
とPLAN
の使用については何も見つかりませんでした。
私の質問の側面:それらを一緒に使用することは可能ですか?これは動作するのですか、またはFirebirdの最新バージョンで動作する予定ですか?それは私が見ていない、それは動作しない明らかな理由はありますか?これを回避するための代替手段はどれですか?
なぜ特定の実行計画を使用しますか? –
@ EstebanP。文の 'matching'節に一致する対応するインデックスがあります。 Firebirdが現在のインデックスの選択性に関係なく使用することを願っています。これは古くなっている可能性があり、このステートメントのベストインデックスだからです。また、私はインデックスの依存関係を持つことが好きです。 –
実際、私は、「計画」を使う必要はないと理解しています。私はちょうど、もしそうでなければ、なぜそうではないのかを知りたいのです。 –