


Bagaimana untuk Mengoptimumkan Penggunaan Semula PreparedStatement untuk Berbilang Lelaran?
Menggunakan Semula Penyata Disediakan dengan Berbilang Lelaran
Dalam kes di mana satu sambungan biasa digunakan tanpa kumpulan sambungan, anda mungkin menghadapi soalan sama ada lebih cekap untuk mencipta contoh PreparedStatement baharu untuk setiap operasi DML atau SQL sambil mengekalkan faedah kenyataan yang disediakan.
Daripada:
<code class="java">for (int i=0; i<p>Anda boleh mempertimbangkan:</p> <pre class="brush:php;toolbar:false"><code class="java">PreparedStatement preparedStatement = connection.prepareStatement(sql); for (int i=0; i<p>Walaupun pendekatan kedua menawarkan keuntungan kecekapan yang sedikit, penyelesaian unggul terletak pada pelaksanaan kelompok:</p> <pre class="brush:php;toolbar:false"><code class="java">public void executeBatch(List<entity> entities) throws SQLException { try ( Connection connection = dataSource.getConnection(); PreparedStatement statement = connection.prepareStatement(SQL); ) { for (Entity entity : entities) { statement.setObject(1, entity.getSomeProperty()); // ... statement.addBatch(); } statement.executeBatch(); } }</entity></code>
Pendekatan ini mengambil kesempatan daripada keupayaan batching yang disediakan oleh pemandu JDBC, mengurangkan bilangan pergi balik ke pangkalan data dan meningkatkan kecekapan. Anda boleh mengoptimumkan lagi dengan mentakrifkan had saiz kelompok, seperti melaksanakan setiap 1000 item:
<code class="java">public void executeBatch(List<entity> entities) throws SQLException { try ( Connection connection = dataSource.getConnection(); PreparedStatement statement = connection.prepareStatement(SQL); ) { int i = 0; for (Entity entity : entities) { statement.setObject(1, entity.getSomeProperty()); // ... statement.addBatch(); i++; if (i % 1000 == 0 || i == entities.size()) { statement.executeBatch(); // Execute every 1000 items. } } } }</entity></code>
Bagi persekitaran berbilang benang, anda boleh memastikan keselamatan benang dengan memperoleh dan menutup kedua-dua sambungan dan pernyataan dalam masa yang paling singkat skop yang mungkin menggunakan pernyataan cuba-dengan-sumber, seperti yang ditunjukkan dalam coretan kod di atas. Untuk kelompok transaksi, lumpuhkan autokomit dan lakukan transaksi hanya selepas semua kelompok selesai.
Atas ialah kandungan terperinci Bagaimana untuk Mengoptimumkan Penggunaan Semula PreparedStatement untuk Berbilang Lelaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel ini membincangkan menggunakan Maven dan Gradle untuk Pengurusan Projek Java, membina automasi, dan resolusi pergantungan, membandingkan pendekatan dan strategi pengoptimuman mereka.

Artikel ini membincangkan membuat dan menggunakan perpustakaan Java tersuai (fail balang) dengan pengurusan versi dan pergantungan yang betul, menggunakan alat seperti Maven dan Gradle.

Artikel ini membincangkan pelaksanaan caching pelbagai peringkat di Java menggunakan kafein dan cache jambu untuk meningkatkan prestasi aplikasi. Ia meliputi persediaan, integrasi, dan faedah prestasi, bersama -sama dengan Pengurusan Dasar Konfigurasi dan Pengusiran PRA Terbaik

Artikel ini membincangkan menggunakan JPA untuk pemetaan objek-relasi dengan ciri-ciri canggih seperti caching dan pemuatan malas. Ia meliputi persediaan, pemetaan entiti, dan amalan terbaik untuk mengoptimumkan prestasi sambil menonjolkan potensi perangkap. [159 aksara]

Kelas kelas Java melibatkan pemuatan, menghubungkan, dan memulakan kelas menggunakan sistem hierarki dengan bootstrap, lanjutan, dan pemuat kelas aplikasi. Model delegasi induk memastikan kelas teras dimuatkan dahulu, yang mempengaruhi LOA kelas tersuai


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.