javaアプリケーションに対してローカルh2を使用してMySQLクエリをテストしています。問題は、h2がMySQLクエリの "USE INDEX"(インデックスヒント)をサポートしていないことです。 「SQL文の構文エラー」を報告します。 h2でマスクされたUSE INDEXでこのクエリを実行する方法はありますか?h2で実行されているMySQLクエリで「USE INDEX」をマスクする方法
私は空の文字列でのUSE INDEXの一部を置き換えるためにエイリアスを使用しようとしました:
CREATE ALIAS `USE INDEX` FOR "<java-function-that-returns-empty-string>"
が、それはうまくいきませんでした、すなわち、まだ「SQLステートメントの構文エラーは、」報告します。 「USE INDEX」はエイリアスによってサポートされていない2つの単語なので、それは疑わしいですか?しかし私は確信していません。助言がありますか?ありがとう。
なぜh2のmysql用に書かれたクエリを使用していますか? –
私たちの生産環境。 mysqlにありますが、ユニットテストではh2を使用しています。私は単体テストやプロダクション環境のデータベースエンジンを制御できません。 Btwでは、ユニットテストで 'h2を設定するために' migrations.sql 'を使用しています。それは私が "エイリアスを作成しようとしていたところ"です。 – user1783732
ORMツールが通常この問題を解決する方法は、各ターゲットデータベースごとに異なる*方言です。 –