Mengelola ukuran transaksi

Unduh driver JDBC

Saat bekerja dengan transaksi, penting untuk membuat transaksi Anda sesingkat mungkin. Mode default autocommit, yang dapat Anda aktifkan atau nonaktifkan dengan menggunakan metode setAutoCommit, akan melakukan commit untuk setiap tindakan Anda. Mode ini adalah mode yang paling mudah untuk digunakan oleh sebagian besar pengembang.

Saat Anda menggunakan transaksi manual, pastikan kode Anda melakukan transaksi secepat mungkin. Menahan pembukaan transaksi memblokir pengguna lain untuk mengakses data. Misalnya, praktik yang baik dalam pemrograman adalah menempatkan pemanggilan rollback di blok catch Anda dan pemanggilan commit di blok finally. Namun, praktik ini tergantung pada desain aplikasi Anda.

Jaga ukuran transaksi Anda tetap kecil untuk meningkatkan konkurensi. Misalnya, jika Anda memulai transaksi manual dan memodifikasi 10.000 baris dalam tabel 20.000 baris, Anda akan memiliki setengah tabel yang diblokir dari semua pengguna lain, bahkan jika mereka hanya membaca data. Mengurangi modifikasi Anda menjadi 2.000 baris meninggalkan 90 persen dari tabel yang tersedia.

Selain itu, pastikan Anda menggunakan pengaturan batas waktu penguncian jika aplikasi Anda diperkirakan akan mengalami beberapa masalah pemblokiran. Anda dapat mengatur waktu habis dengan menggunakan metode setLockTimeout . Nilai default untuk batas waktu penguncian adalah -1, yang berarti proses akan tetap terblokir tanpa batas saat menunggu penguncian. Anda dapat mengatur batas waktu penguncian menjadi 30 detik, yang akan menyebabkan koneksi yang diblokir kehabisan waktu dalam 30 detik jika diblokir oleh koneksi lain.