Mesin mysql mana yang mendukung penguncian tingkat baris

Dua jenis mesin utama penyimpanan tabel untuk database MySQL adalah InnoDB dan MyISAM. Berikut ringkasan perbedaan fitur dan kinerja:

1. InnoDB lebih baru sementara MyISAM lebih tua.
2. InnoDB lebih kompleks, sementara MyISAM lebih sederhana.
3. InnoDB semakin ketat dalam integritas data sementara MyISAM longgar.
4.InnoDB menerapkan tingkat baris kunci untuk memasukkan dan meng-update baris sementara MyISAM menerapkan tingkat kunci tabel.
5. InnoDB memiliki transaksi sementara MyISAM tidak.
6. InnoDB memiliki kunci asing dan hubungan contraints sementara MyISAM tidak.
7. InnoDB memiliki crash pemulihan lebih baik sementara MyISAM yang miskin memulihkan integritas data pada sistem crash.
8. MyISAM memiliki indeks pencarian teks penuh (full text search) sementara InnoDB tidak.

Mengingat perbedaan-perbedaan, InnoDB dan MyISAM memiliki kelebihan dan kekurangan
mereka yang unik terhadap satu sama lain. Mereka masing-masing lebih cocok dalam beberapa skenario dari yang lain.

Keuntungan dari InnoDB
1. InnoDB harus digunakan di mana integritas data lebih prioritas.
2. Lebih cepat dalam menulis-intensif (penyisipan, update) tabel karena menggunakan tingkat penguncian baris dan hanya tahan perubahan pada baris yang sama yang sedang dimasukkan atau diperbaharui.

Kekurangan dari InnoDB

1. Karena InnoDB harus menjaga hubungan yang berbeda antara tabel, database administrator
dan pencipta skema harus mengambil lebih banyak waktu dalam mendesain model data yang lebih kompleks daripada MyISAM.
2. Mengkonsumsi sumber daya sistem yang lebih seperti RAM. Direkomendasikan bahwa
mesin InnoDB dimatikan jika tidak perlu substansial untuk itu setelah instalasi MySQL.
3. Tidak-pengindeksan teks penuh.

Keuntungan MyISAM
1. Sederhana untuk merancang dan membuat, sehingga lebih baik untuk pemula. Jangan
khawatir tentang hubungan luar negeri antara tabel.
2. Lebih cepat dari InnoDB pada keseluruhan sebagai akibat dari struktur sederhana
sehingga jauh lebih sedikit biaya sumber daya server.
3. Pengindeksan teks lengkap.
4. Sangat baik untuk membaca-intensif (select) tabel.

Kekurangan dari MyISAM

1. Tidak ada integritas data (misalnya kendala hubungan), yang kemudian datang tanggung jawab dan overhead dari para administrator database dan pengembang aplikasi.
2. Tidak mendukung transaksi yang penting dalam aplikasi perbankan.
3. Lebih lambat dari InnoDB untuk tabel yang sering dimasukkan atau diperbaharui, karena seluruh tabel terkunci untuk memasukkan atau memperbarui.

Perbandingan tersebut cukup sederhana. InnoDB lebih cocok untuk data situasi kritis yang membutuhkan menyisipkan sering dan update.
MyISAM, di sisi lain, melakukan yang lebih baik dengan aplikasi yang tidak cukup bergantung
pada integritas data dan kebanyakan hanya memilih dan menampilkan data.

Post navigation

Semoga semua yg ada di blog ini. berguna bagi kita semua

Dua tipe atau Storage Engine utama penyimpanan tabel untuk database MySQL adalah InnoDB dan MyISAM. Berikut ringkasan perbedaan fitur dan kinerjanya :

InnoDB

  • InnoDB lebih baru dalam hal pengembangan sementara MyISAM lebih dulu ada.
  • InnoDB lebih kompleks, sementara MyISAM lebih sederhana.
  • InnoDB semakin ketat dalam integritas data, sementara MyISAM longgar.
  • InnoDB menerapkan penguncian tingkat baris untuk insert dan update baris, sementara MyISAM menerapkan penguncian tingkat tabel.
  • InnoDB memiliki transaksi, sementara MyISAM tidak.
  • InnoDB memiliki kunci asing (Foreign Key) dan contraints sementara MyISAM tidak.
  • InnoDB memiliki sistem revovery lebih baik dari pada MyISAM.

Mengingat perbedaan-perbedaan, InnoDB dan MyISAM memiliki kelebihan dan kekurangan yang unik terhadap satu sama lain.

Keuntungan InnoDB
  • InnoDB cocok digunakan dimana integritas data lebih prioritas.
  • Lebih cepat dalam insert/update tabel karena menggunakan tingkat penguncian baris.
Kekurangan InnoDB
  • Karena InnoDB harus menjaga hubungan yang berbeda antara tabel, database administrator dan pencipta skema harus mengambil lebih banyak waktu dalam mendesain model data yang lebih kompleks daripada MyISAM.
  • Mengkonsumsi sumber daya sistem yang lebih seperti RAM. Direkomendasikan bahwa engine InnoDB di disable jika tidak perlu substansial untuk itu, setelah instalasi MySQL.

MyISAM

Tidak adanya pengindeksan teks penuh (full text search).

Keuntungan MyISAM
  • Sederhana untuk dirancang dan dibuat, sehingga lebih baik untuk pemula. dan tidak perlu khawatir tentang hubungan antara tabel.
  • Lebih cepat dari InnoDB pada keseluruhan sebagai akibat dari struktur sederhana sehingga jauh lebih sedikit sumber daya server.
  • Pengindeksan teks lengkap (full text search).
  • Sangat baik untuk membaca-intensif (select) tabel.
Kekurangan MyISAM
  • Tidak ada integritas data(misalnya kendala hubungan), yang kemudian datang tanggung jawab dan overhead dari para administrator database dan pengembang aplikasi.
  • Tidak mendukung transaksi.
  • Lebih lambat dari InnoDB untuk tabel yang sering insert dan di update, karena seluruh tabel terkunci untuk insert dan update.

Perbandingan tersebut cukup sederhana namun InnoDB lebih cocok untuk data situasi kritis dimana table sering dilakukan insert dan update.

Disisi lain MyISAM, lebih cocok dengan aplikasi yang tidak cukup bergantung pada integritas data dan kebanyakan hanya memilih dan menampilkan data.

Penjelasan Lain

Salah satu kelebihan dari MySQL adalah Anda dapat mendefinisikan tipe untuk tiap tabel. MySQL mendukung beberapa tipe tabel, tergantung konfigurasi saat proses instalasi MySQL. MySQL memiliki 3 (tiga) tipe data utama, yaitu

MyISAM, InnoDB dan HEAP.

Jika kita tidak menyebutkan tipe tabel saat membuat tabel, maka tipe tabel otomatis akan dibuat sesuai konfigurasi default server MySQL. Hal ini ditentukan oleh variabel default-table-type di file konfigurasi MySQL.

MyISAM

Tipe tabel MyISAM merupakan tipe tabel yang sederhana, stabil dan mudah digunakan. Jika kita akan menyimpan data sederhana yang tidak terlalu rumit, maka gunakanlah tipe tabel ini. Kelebihan utama MyISAM adalah kecepatan dan kestabilannya.

Jika kita memilih tipe tabel MyISAM, maka MySQL secara otomatis akan menentukan salah satu dari tiga jenis tabel MyISAM, yaitu :

a. MyISAM static. Jenis ini digunakan ketika semua kolom dalam tabel didefinisikan dengan ukuran yang pasti (fixed). Dengan kata lain, tidak ada kolom yang memiliki tipe seperti VARCHAR, TEXT dan BLOB. Karena sifatnya yang fixed, maka jenis ini akan lebih cepat, aman dan stabil.

b. MyISAM dymanic. Jenis ini digunakan ketika terdapat kolom dengan tipe yang dinamis, seperti tipe kolom VARCHAR. Keuntungan utama dari jenis ini adalah ukuran yang dinamis. Jadi sifatnya lebih efektif karena ukuran data (file) menyesuaikan isi dari masing-masing kolom (field).

c. MyISAM Compressed. Kedua jenis MyISAM, static dan dynamic dapat dikompresi menjadi satu jenis yaitu MyISAM Compressed dengan perintah myisamchk. Tentunya hasilnya lebih kecil dari segi ukuran. Tabel yang terkompresi tidak dapat dikenakan operasi seperti INSERT, UPDATE dan DELETE.

InnoDB

Tipe tabel InnoDB merupakan tipe tabel MySQL yang mendukung proses transaksi. Tipe ini memiliki beberapa keunggulan, antara lain:

a. Mendukung transaksi antar tabel.

b. Mendukung row-level-locking.

c. Mendukung Foreign-Key Constraints.

d. Crash recovery.

HEAP

Tabel dengan tipe HEAP tidak menyimpan datanya di hardisk, tetapi menyimpan di RAM (memori). Tipe tabel ini biasanya digunakan sebagai tabel sementara (temporary). Tabel secara otomatis akan dihapus (hilang) dari MySQL saat koneksi ke server diputus atau server MySQL dimatikan.

Tipe Tabel yang Lain

Selain 3 (tiga) tipe tabel diatas, yaitu MyISAM, InnoDB dan HEAP, MySQL juga mendukung tipe tabel yang lain, yaitu:

a. BDB. Tipe tabel ini mirip tipe tabel InnoDB, namun penggunaannya belum maksimal.

b. Archieve. Tipe ini tersedia sejak MySQL versi 4.1. Tipe ini digunakan untuk menyimpan tabel yang terkompresi, dimana biasanya digunakan dalam proses backup.

c. CSV. Tipe ini digunakan untuk menyimpan data dalam bentuk file text yang dibatasi dengan koma (delimiter). Tipe ini tersedia sejak MySQL versi 4.1.

d. NDB Table (MySQL Cluster). Tersedia sejak MySQL versi 4.1.

e. Federated (External Tables). Tipe ini tersedia sejak MySQL versi 5.0.

SUMBER

Apa bedanya jenis MyISAM dan InnoDB?

InnoDB menerapkan penguncian tingkat baris untuk insert dan update baris, sementara MyISAM menerapkan penguncian tingkat tabel. InnoDB memiliki transaksi, sementara MyISAM tidak. InnoDB memiliki kunci asing (Foreign Key) dan contraints sementara MyISAM tidak.

Apa yang dimaksud dengan InnoDB?

InnoDB adalah mesin penyimpanan default untuk MySQL pada MySQL 5.5. Mesin ini menyediakan fitur transaksi standar ACID-compliant, bersama dengan dukungan foreign key (Referential Integrity deklaratif).