Bagikan melalui


Mengatur Tingkat Isolasi Transaksi

Untuk mengatur tingkat isolasi transaksi, aplikasi menggunakan atribut koneksi SQL_ATTR_TXN_ISOLATION. Jika sumber data tidak mendukung tingkat isolasi yang diminta, driver atau sumber data dapat mengatur tingkat yang lebih tinggi. Untuk menentukan tingkat isolasi transaksi apa yang didukung sumber data dan tingkat isolasi defaultnya, aplikasi memanggil SQLGetInfo dengan opsi SQL_TXN_ISOLATION_OPTION dan SQL_DEFAULT_TXN_ISOLATION.

Tingkat isolasi transaksi yang lebih tinggi menawarkan perlindungan terbanyak untuk integritas data database. Transaksi yang dapat diserialisasikan dijamin tidak terpengaruh oleh transaksi lain dan oleh karena itu dijamin untuk menjaga integritas database.

Namun, tingkat isolasi transaksi yang lebih tinggi dapat menyebabkan performa yang lebih lambat karena meningkatkan kemungkinan aplikasi harus menunggu kunci pada data dirilis. Aplikasi dapat menentukan tingkat isolasi yang lebih rendah untuk meningkatkan performa dalam kasus berikut:

  • Ketika dapat dijamin bahwa tidak ada transaksi lain yang mungkin mengganggu transaksi aplikasi. Situasi ini hanya terjadi dalam keadaan terbatas, seperti ketika satu orang di perusahaan kecil memelihara file dBASE yang berisi data personel di satu komputer dan tidak berbagi file-file ini.

  • Ketika kecepatan lebih penting daripada akurasi dan kesalahan apa pun kemungkinan kecil. Misalnya, perusahaan membuat banyak penjualan kecil dan penjualan besar itu jarang terjadi. Transaksi yang memperkirakan nilai total semua penjualan terbuka mungkin dengan aman menggunakan tingkat isolasi Baca Tidak Dikomit. Meskipun transaksi akan mencakup pesanan yang sedang dibuka atau ditutup dan kemudian digulung balik, ini umumnya akan membatalkan satu sama lain dan transaksi akan jauh lebih cepat karena tidak diblokir setiap kali mengalami pesanan seperti itu.

Untuk informasi selengkapnya, lihat Konkurensi Optimis.