Anda harus mengonversi semua data ke InnoDB untuk mencegah masalah penguncian tabel. Namun, ada beberapa hal yang perlu dipikirkan:
Pengindeksan FULLTEXT
Saat ini, hanya MyISAM yang mendukung pengindeksan FULLTEXT. Pengindeksan FULLTEXT untuk InnoDB saat ini sedang dalam proses untuk MySQL 5.6 tetapi belum siap-produksi . Jika Anda memiliki tabel Drupal yang memiliki indeks FULLTEXT, mereka tidak dapat dikonversi ke InnoDB saat ini.
UPDATE pada Pengindeksan FULLTEXT
MySQL 5.6 sekarang GA (keluar untuk Penggunaan Produksi). Silakan coba pengindeksan FULLTEXT di InnoDB.
Untuk menemukan tabel yang memiliki FULLTEXT
indeks, jalankan kueri ini:
SELECT table_schema,table_name
FROM information_schema.statistics
WHERE index_type='FULLTEXT';
Jika tidak ada baris yang kembali, konversikan semua tabel InnoDB ke isi hati Anda. Saya menulis posting sebelumnya tentang cara mengkonversi semua tabel MyISAM ke InnoDB hanya menggunakan mysql .
Replikasi MySQL
Jika Anda memiliki lingkungan baca-berat, membaca dapat berjalan lebih cepat di MyISAM jika Anda melakukan hal berikut:
- Setup Master / Replikasi Budak
- Buat satu atau lebih Baca Budak di bawah Master
- Tambahkan
--skip-innodb
/etc/my.cnf di semua Budak (mengkonversi tabel ke MyISAM saat memuat data ke dalam Budak)
- Ubah format baris semua tabel MyISAM pada setiap Budak menjadi TETAP dengan perintah ini:
ALTER TABLE tblname ROW_FORMAT=FIXED;
- Saya memposting sesuatu di DBA StackExchange ini
- Buku Desain dan Tuning Database MySQL merekomendasikan penggunaan
ROW_FORMAT=FIXED
di halaman 72,73. Ini akan secara internal mengonversi semua bidang VARCHAR ke CHAR. Ini akan membuat tabel MyISAM lebih besar, tetapi mengeksekusi SELECTs terhadapnya akan jauh lebih cepat. Saya pribadi bisa membuktikan hal ini. Saya pernah punya meja yang 1.9GB. Saya mengubah format dengan ALTER TABLE tblname ROW_FORMAT=FIXED
. Tabel berakhir 3.7GB. Kecepatan SELECT terhadapnya adalah 20-25% lebih cepat tanpa memperbaiki atau mengubah apa pun.
Satu-satunya sakit kepala dengan ini adalah membuat aplikasi Anda mengetahui tentang slave baca yang terpisah.
EPILOG
Jika Anda melihat manfaat lain yang dimiliki masing-masing mesin penyimpanan, periksa DBA StackExchange: