Apa yang langsung muncul pada saya adalah MyISAM .
ASPECT #1 :GABUNG itu sendiri
Setiap kali ada gabungan yang melibatkan MyISAM dan InnoDB, tabel InnoDB akan berakhir dengan perilaku penguncian tingkat tabel alih-alih penguncian tingkat baris karena keterlibatan MyISAM dalam kueri dan MVCC tidak dapat diterapkan ke data MyISAM. MVCC bahkan tidak dapat diterapkan ke InnoDB dalam beberapa kasus.
ASPECT #2 :Keterlibatan MyISAM
Dari perspektif lain, jika ada tabel MyISAM yang diperbarui melalui INSERT, UPDATE, atau DELETE, tabel MyISAM yang terlibat dalam kueri GABUNG akan dikunci dari Koneksi DB lain dan kueri GABUNG harus menunggu hingga tabel MyISAM dapat dibaca. Sayangnya, jika ada campuran InnoDB dan MyISAM dalam kueri GABUNG, tabel InnoDB harus mengalami penguncian yang terputus-putus seperti mitra MyISAM-nya dalam kueri GABUNG karena tertahan dari penulisan.
ASPEK #3 :Pengoptimal Kueri
MySQL bergantung pada kardinalitas indeks untuk menentukan rencana EXPLAIN yang dioptimalkan. Kardinalitas indeks stabil di tabel MyISAM sampai banyak INSERT, UPDATE, dan DELETE terjadi pada tabel, yang dengannya Anda dapat menjalankan OPTIMIZE TABLE
secara berkala terhadap tabel MyISAM. Kardinalitas indeks InnoDB TIDAK PERNAH STABIL !!! Jika Anda menjalankan SHOW INDEXES FROM *innodbtable*;
, Anda akan melihat kardinalitas indeks berubah setiap kali Anda menjalankan perintah itu. Itu karena InnoDB akan melakukan penyelaman ke dalam indeks untuk memperkirakan kardinalitas. Bahkan jika Anda menjalankan OPTIMIZE TABLE
terhadap tabel InnoDB, itu hanya akan mendefrag tabel. OPTIMIZE TABLE
akan menjalankan ANALYZE TABLE
internal untuk menghasilkan statistik indeks terhadap tabel. Itu berfungsi untuk MyISAM. InnoDB mengabaikannya.
Saran saya untuk Anda adalah berusaha sekuat tenaga dan mengonversi semuanya ke InnoDB dan mengoptimalkan pengaturan Anda sesuai dengan itu.
PERBARUI 18-12-2012 15:56 EDT
Percaya atau tidak, masih membuka tiket untuk bergabung dengan InnoDB/MyISAM selama PILIH UNTUK PEMBARUAN . Jika Anda membacanya, itu merangkum resolusi sebagai berikut:JANGAN LAKUKAN !!! .