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
Wie erstelle ich mit HTML, CSS und JS einen einfa...
Vorwort Das MySQL Slow Query Log ist eine Funktio...
Inhaltsverzeichnis Einführung in FRM-Dateien und ...
Inhaltsverzeichnis DOMContentLoaded und laden Was...
Problembeschreibung 1. Datenbank der Sammelstelle...
Inhaltsverzeichnis Vorwort 1. So schreiben Sie Fu...
Heute werden wir Origami-Flugzeuge basteln (die A...
Busybox: Ein Schweizer Taschenmesser voller klein...
Dieser Artikel beschreibt den detaillierten Vorga...
Dieser Artikel zeichnet das Installationstutorial...
In diesem Artikel wird der spezifische Code für R...
In diesem Artikel wird der spezifische Code des W...
Verwendung von Clip-Pfaden Polygon Der Wert setzt...
Verwendung der AES-Verschlüsselung Verschlüsselun...
1. Das ul-Tag hat in Mozilla standardmäßig einen ...