In diesem Artikel wird die MySQL-Vorkompilierungsfunktion zu Ihrer Information vorgestellt. Der spezifische Inhalt ist wie folgt 1. Vorteile der Vorkompilierung Wir haben alle die PreparedStatement-Schnittstelle in JDBC verwendet, die über eine Vorkompilierungsfunktion verfügt. Was ist die Vorkompilierungsfunktion? Was sind die Vorteile davon? 2. MySQL führt eine Vorkompilierung durch MySQL führt die Vorkompilierung in drei Schritten durch: 3. Verwenden Sie die Anweisung, um die Vorkompilierung durchzuführen Die Verwendung einer Anweisung zum Ausführen der Vorkompilierung bedeutet, dass die obige SQL-Anweisung einmal ausgeführt wird. Verbindung con = JdbcUtils.getConnection(); Anweisung stmt = con.createStatement(); stmt.executeUpdate("bereite myfun aus 'select * from t_book where bid=?' vor"); stmt.executeUpdate("set @str='b1'"); ResultSet rs = stmt.executeQuery("führe myfun mit @str aus"); während(rs.next()) { System.out.print(rs.getString(1) + ", "); System.out.print(rs.getString(2) + ", "); System.out.print(rs.getString(3) + ", "); System.out.println(rs.getString(4)); } stmt.executeUpdate("set @str='b2'"); rs = stmt.executeQuery("führe myfun mit @str aus"); während(rs.next()) { System.out.print(rs.getString(1) + ", "); System.out.print(rs.getString(2) + ", "); System.out.print(rs.getString(3) + ", "); System.out.println(rs.getString(4)); } rs.schließen(); stmt.schließen(); con.schließen(); 4. useServerPrepStmts-Parameter Standardmäßig kann PreparedStatement nicht vorkompiliert werden. Dies erfordert den Parameter useServerPrepStmts=true in der URL (MySQL Server Versionen vor 4.1 unterstützen die Vorkompilierung nicht und Connector/J-Versionen nach 5.0.5 aktivieren die Vorkompilierung nicht standardmäßig. Beispiel: jdbc:mysql://localhost:3306/test?useServerPrepStmts=true Verbindung con = JdbcUtils.getConnection(); Zeichenfolge SQL = "Wählen Sie * aus t_book aus, wobei bid=?"; Vorbereitete Anweisung pstmt = con.prepareStatement(sql); pstmt.setString(1, "b1"); Ergebnismenge rs = pstmt.executeQuery(); während(rs.next()) { System.out.print(rs.getString(1) + ", "); System.out.print(rs.getString(2) + ", "); System.out.print(rs.getString(3) + ", "); System.out.println(rs.getString(4)); } pstmt.setString(1, "b2"); rs = pstmt.executeQuery(); während(rs.next()) { System.out.print(rs.getString(1) + ", "); System.out.print(rs.getString(2) + ", "); System.out.print(rs.getString(3) + ", "); System.out.println(rs.getString(4)); } rs.schließen(); pstmt.schließen(); con.schließen(); 5. cachePrepStmts-Parameter Wenn Sie verschiedene PreparedStatement-Objekte verwenden, um dieselbe SQL-Anweisung auszuführen, wird sie dennoch zweimal kompiliert. Dies liegt daran, dass der Treiber den kompilierten Funktionsschlüssel nicht zwischenspeichert, was zu einer sekundären Kompilierung führt. Wenn Sie den Schlüssel der kompilierten Funktion zwischenspeichern möchten, setzen Sie den Parameter cachePrepStmts auf true. Zum Beispiel: Verbindung con = JdbcUtils.getConnection(); Zeichenfolge SQL = "Wählen Sie * aus t_book aus, wobei bid=?"; Vorbereitete Anweisung pstmt = con.prepareStatement(sql); pstmt.setString(1, "b1"); Ergebnismenge rs = pstmt.executeQuery(); während(rs.next()) { System.out.print(rs.getString(1) + ", "); System.out.print(rs.getString(2) + ", "); System.out.print(rs.getString(3) + ", "); System.out.println(rs.getString(4)); } pstmt = con.prepareStatement(sql); pstmt.setString(1, "b2"); rs = pstmt.executeQuery(); während(rs.next()) { System.out.print(rs.getString(1) + ", "); System.out.print(rs.getString(2) + ", "); System.out.print(rs.getString(3) + ", "); System.out.println(rs.getString(4)); } rs.schließen(); pstmt.schließen(); con.schließen(); 6. Stapelverarbeitung aktivieren Die MySQL-Stapelverarbeitung muss auch über den Parameter rewriteBatchedStatements=true aktiviert werden. Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Detailliertes Installationstutorial von Docker unter CentOS
>>: So verwenden Sie http und WebSocket in CocosCreator
DTD ist ein Satz grammatikalischer Regeln zur Ausz...
Zuerst erstellen wir die Datenbanktabelle: Tabell...
In diesem Artikel wird der spezifische Code von j...
Studiennotizen zu HTML-Entwurfsmustern Diese Woch...
Herunterladen und Installieren von JDK Schritt 1:...
In diesem Artikel wird der spezifische Code für J...
1. Umwelt: MySQL-5.0.41-win32 Windows XP Professi...
Zu viele Verbindungen zur MySQL-Datenbank Dieser ...
In letzter Zeit tritt nach dem Aktualisieren der ...
Lastenausgleich ist ein häufig verwendetes Mittel...
Nehmen Sie als Beispiel drei aufeinanderfolgende ...
React ist eine JAVASCRIPT-Bibliothek zum Erstelle...
1. Zuerst müssen Sie den Zielselektor von CSS3 ve...
Nach der Installation von Ubuntu 20.04 gibt es st...
1. Holen Sie sich das Bild #Geben Sie die Version...