30 July 2016

Belajar Teknik TRANSACTION, COMMIT, ROLLBACK MySQL


TRANSACTION MYSQL
Pengubahan, penambahan, penghapusan suatu tabel biasanya berdampak pada isi tabel satu dengan lainnya. Jika perubahan tabel satu dengan lainnya yang terkait, terjadi kagagalan, maka terjadi ketidakkonsistenan integrasi antar tabel.

MySQL mendukung manajemen transaksi dengan syarat pada saat menciptakan tabel menggunakan mesin penyimpanan InnoDB.

Pertama, yang kita bahas konsep dari level isolasi dan sesi

Level Isolasi

Sebelum kita berbicara transaksi dan level kelompok, kita perlu untuk jelaskan konsep dari suatu sesi. Suatu sesi database adalah suatu koneksi yang unik database yang memulai ketika anda login ke MySQL dan mengakhiri koneksi, dengan tegas ketika MySQL menberikan pesa bahwa program klien yang anda pakai terputus

Tingkat isolasi suatu transaksi juga menentukan derajat tingkat bagi yang transaksi menenpati ACID yang akan uraikan dibagian ini. Masing-Masing dari empat tingkatan isolasi menghadirkan suatu keseimbangan yang berbeda antar isolasi dan concurrency dari transaksi. Di level isolasi yang paling tinggi, seluruh transaksi akan mampu melaksanakan secara bersamaan,.


READ UNCOMMITTED

Ini adalah tingkatan isolasi yang mungkin paling rendah. Kadang-kadang memanggil dirty read, tingkatan ini mengijinkan suatu transaksi membabaca rekaman yang belum di commit. Penggunaan tingkatan isolasi ini mungkin meningkatkan keberhasilan hanya satu pemakai yang mendapat kembali data yang diubah oleh pemakai lain..

READ COMMITTED
Pada tingkatan isolasi ini, rekaman hanya dapat dilihat oleh suatu transaksi. Lagi pula, statemen hingga batas tertentu perubahan apapun yang dilakukan memulai eksekusi tidak bisa dilihat. Sebagai contoh, jika anda menjalankan perintah SELECT Suatu yang query dari tabel BUKU, dan sesi B memasukkan suatu baris ke dalam BUKU sedangkan suatu query masih menjalankan, baris yang baru itu tidak akan terlihat oleh perintah SELECT

REPEATABLE READ
Pada level isolasi ini tidak ada perubahan bagi database yang dibuat oleh lain sesi karena transaksi dapat dimulai dilihat di dalam transaksi, sampai transaksi dilakukan atau loop mundur atau ROLLBACK (pembatalan) jika Anda menjalankan ulang SELECT di dalam transaksi , akan selalu menunjukkan yang sama menghasilkan.

SERIALIZABLE
Pada tingkat isolasi, tiap-tiap transaksi dengan sepenuhnya terisolasi sedemikian rupa sehingga transaksi bertindak seolah-olah mereka telah mengeksekusi berturutan, satu demi satu; berturut-turut. Dalam rangka mencapai ini, RDBMS akan secara khusus mengunci tiap-tiap baris yang dibaca, maka lain sesi tidak boleh memodifikasi data itu sampai transaksi telah selesai dengan itu. Kunci dilepaskan ketika Anda melakukan atau batalkan transaksi

Bentuk Umum perintah tansakasi :

SET TRANSACTION ISOLATION LEVEL {READ UNCOMMITTED | READ COMMITTED
|REPEATABLE READ | SERIALIZABLE}

Perintah Manajemen Transaction
MySQL menggunakan yang berikut statemen manajemen transaksi :

START TRANSACTION
Marupakan awal dari blok perintah untuk melakukan transakasi

COMMIT
Melakukan perubahan atau secara fisik pada tebal

ROLLBACK
Perintah ini jika dijalankan suatu perubahan secara keseluruhan dalam blok transakasi dibatalakn.

SAVEPOINT savepoint_name
Menciptakan suatu savepoint yang dinamai identifier bahwa dapat target dari suatu ROLLBACK KE SAVEPOINT statemen.

ROLLBACK TO SAVEPOINT savepoint_name
Melaksanakan suatu rollback semua statemen yang telah dieksekusi sejak ditetapkan savepoint telah diciptakan. Dengan cara ini, kamu dapat mengulang mundur hanya bagian dari suatu transaksi, memelihara beberapa subset dari perubahan untuk tetap diselamatkan.

SET TRANSACTION
Ijinkan kamu untuk memilih level pengasingan terhadap transaksi. Secara detail terdapat pada bagian Level isolasi.

LOCK TABLES
Dengan tegas mengunci satu atau lebih tabel. Dicatat bahwa LOCK TABLES secara implisit menutup manapun transaksi yang sekarang ini terbuka. Kita merekomendasikan bahwa kamu dengan tegas melakukan atau loop ulang transaksi sebelum LOCK TABLES statemen apapun.

untuk contoh yang jelas dan lengkap silahkan klik link berikut : https://badiyanto.wordpress.com/category/tutorial-mysql/

Loading...

I am a fan of technology and i love coffee. I’m also interested in web programming and framework. below there are some accounts you can follow to contact me.

Comments

Thanks for comments.
EmoticonEmoticon