0

私たちのプロジェクトでは Ibatis を使用しています。クエリが初めて実行されるときは遅いです。しかし、その後は、同じクエリのセットが最初よりも少し速くなります。では、クエリは最初の実行時にコンパイルされていますか?

4

2 に答える 2

1

コンパイル フェーズは、SQL クエリ実行フローの主要なフェーズの 1 つであることを付け加えておきます。データベースオプティマイザーによってコンパイルおよびキャッシュされるだけで、その後の呼び出しではコンパイルフェーズがスキップされます。

于 2013-09-03T03:46:03.117 に答える
1

iBbatis は、JDBC 上に構築された他のデータベース フレームワークと同様に、 PreparedStatementSQL クエリの実行に使用します。Java JDBC チュートリアルから

これの利点は、ほとんどの場合、この SQL ステートメントがすぐに DBMS に送信され、そこでコンパイルされることです。その結果、PreparedStatement オブジェクトには、SQL ステートメントだけでなく、プリコンパイルされた SQL ステートメントも含まれます。

したがって、プリコンパイルとは、データベース上でのことを意味していたのであれば、そうです。

于 2013-08-14T14:44:09.780 に答える