Jika Anda menonaktifkan kunci (menangguhkan pengindeksan) pada tabel INNODB mysql, berapa lama pengaturan itu berlangsung?
Untuk kueri seperti:
ALTER TABLE users DISABLE KEYS;
Apakah kunci diaktifkan kembali di akhir skrip? atau apakah mereka bertahan sampai Anda secara eksplisit mengaktifkan kembali pengindeksan?
mysql
database
database-administration
indexing
Daniel Beardsley
sumber
sumber
Jawaban:
Manual Baik (yang layak dibaca) menunjukkan bahwa efek dari pernyataan itu bertahan sampai
ALTER TABLE ... ENABLE KEYS
pernyataan yang sesuai dijalankan.sumber
Pada kenyataannya, ALTER TABLE ... DISABLE KUNCI dan ALTER TABLE ... ENABLE KUNCI tidak berfungsi !!!!
Saya membahas hal ini pada 13 Februari 2011.
Saya melakukan beberapa penggalian tambahan dan menemukan dari perusahaan induk InnoDB, InnoBase Oy (sebelum dibuat 7 dari 9 di Oracle Borg), bahwa inilah yang sebenarnya terjadi.
Tautan ini menyarankan untuk melakukan DISABLE KEYS dan menonaktifkan kunci asing bersama-sama. Meskipun saya pikir keduanya tidak perlu, ini tampaknya bekerja untuk seseorang.
UPDATE 2011-07-18 12:35 EDT
Ini adalah pertanyaan yang sangat bagus karena mengekspos kejahatan yang tersisa di MySQL. Program mysqldump secara membabi buta menjatuhkan DISABLE KEYS dan ENABLE KEYS di sekitar kreasi dan memuat ke atas setiap meja tanpa memperhatikan mesin penyimpanan. Karena tombol Nonaktifkan dan tombol aktif tidak berfungsi (dalam kasus terbaik tidak berpengaruh) pada tabel InnoDB karena berfungsi dengan baik untuk MyISAM, fakta yang tidak diketahui ini harus lebih baik didokumentasikan oleh komunitas MySQL. Oh ya, MySQL berada di tengah Kekaisaran Galactic yang dikenal sebagai Oracle. Saya tidak akan menahan nafas pada perubahan dokumentasi yang akan datang.
sumber