私たちのプロジェクトでは Ibatis を使用しています。クエリが初めて実行されるときは遅いです。しかし、その後は、同じクエリのセットが最初よりも少し速くなります。では、クエリは最初の実行時にコンパイルされていますか?
2 に答える
1
コンパイル フェーズは、SQL クエリ実行フローの主要なフェーズの 1 つであることを付け加えておきます。データベースオプティマイザーによってコンパイルおよびキャッシュされるだけで、その後の呼び出しではコンパイルフェーズがスキップされます。
于 2013-09-03T03:46:03.117 に答える
1
iBbatis は、JDBC 上に構築された他のデータベース フレームワークと同様に、 PreparedStatement
SQL クエリの実行に使用します。Java JDBC チュートリアルから
これの利点は、ほとんどの場合、この SQL ステートメントがすぐに DBMS に送信され、そこでコンパイルされることです。その結果、PreparedStatement オブジェクトには、SQL ステートメントだけでなく、プリコンパイルされた SQL ステートメントも含まれます。
したがって、プリコンパイルとは、データベース上でのことを意味していたのであれば、そうです。
于 2013-08-14T14:44:09.780 に答える