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
In diesem Artikel wird der spezifische Code für J...
Beim Erstellen eines Zeitfelds STANDARD CURRENT_T...
Senden von E-Mails mit der Mail-Funktion von PHP ...
Inhaltsverzeichnis 1. Einleitung 2. Warum brauche...
Inhaltsverzeichnis Beschränkung der Bezeichnerlän...
Die meisten Leute haben schon einmal vom Konzept ...
Mysql Left Join ist ungültig und wie man es verwe...
Originalartikel: Ultimatives IE6-Cheatsheet: So b...
Das Shell-Skript richtet die Zugriffskontrolle ei...
Inhaltsverzeichnis 1. Der Ursprung von Tomcat 1. ...
Algorithmus zum Ersetzen von Seiten: Das Wesentli...
In diesem Artikelbeispiel wird der spezifische Co...
Der Editor teilt Ihnen auch die entsprechenden Pr...
Vorwort Ingenieure, die im Linux-Umfeld arbeiten,...
In diesem Artikelbeispiel wird der spezifische Co...