Heim > Datenbank > MySQL-Tutorial > Wie kann PreparedStatement das Einfügen mehrerer Zeilen in MySQL verbessern?

Wie kann PreparedStatement das Einfügen mehrerer Zeilen in MySQL verbessern?

DDD
Freigeben: 2024-12-19 21:09:12
Original
969 Leute haben es durchsucht

How Can PreparedStatement Improve Multi-Row Inserts in MySQL?

Mehrzeilige Einfügungen mit PreparedStatement optimieren

Anfangs war das Einfügen von Zeilen in eine MySQL-Tabelle mithilfe einer Schleife und einzelner PreparedStatment-Aufrufe eine gängige Praxis . Um die Leistung zu verbessern, ist jedoch die Verwendung der von MySQL unterstützten Syntax für mehrzeilige Einfügungen wünschenswert.

Batching mit PreparedStatement

Ein PreparedStatement bietet eine Lösung für optimierte mehrzeilige Einfügungen. Zeileneinfügungen durch Stapeln. Durch den Einsatz der PreparedStatement#addBatch()-Methode werden mehrere SQL-Anweisungen in einem Stapel akkumuliert. Diese Anweisungen werden dann gleichzeitig über PreparedStatement#executeBatch() ausgeführt.

Der folgende Beispielcode demonstriert diesen Ansatz:

public void save(List<Entity> entities) throws SQLException {
    try (
        Connection connection = database.getConnection();
        PreparedStatement statement = connection.prepareStatement(SQL_INSERT);
    ) {
        int i = 0;

        for (Entity entity : entities) {
            statement.setString(1, entity.getSomeProperty());
            // ...

            statement.addBatch();
            i++;

            if (i % 1000 == 0 || i == entities.size()) {
                statement.executeBatch(); // Execute every 1000 items.
            }
        }
    }
}
Nach dem Login kopieren

Zusätzliche Ressourcen

Weitere Einzelheiten zu dieser Technik finden Sie in den folgenden Ressourcen:

  • JDBC-Tutorial – Verwendung PreparedStatement
  • JDBC-Tutorial – Verwenden von Statement-Objekten für Batch-Updates

Das obige ist der detaillierte Inhalt vonWie kann PreparedStatement das Einfügen mehrerer Zeilen in MySQL verbessern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage