Saya seorang pengembang PHP jadi jangan ketat. Saya punya meja besar ~ dump 5.5gb. PM kami memutuskan untuk membuat kolom baru di dalamnya untuk melakukan fitur baru. Tabel adalah InnoDB jadi apa yang saya coba:
Ubah tabel di layar dengan kunci meja. Butuh ~ 30 jam dan tidak ada. Jadi saya menghentikannya. Pertama saya melakukan kesalahan karena saya tidak mengakhiri semua transaksi tetapi yang kedua kalinya bukan multilock. Status tadinya
copy to tmp table.Karena saya juga perlu menerapkan partisi untuk tabel ini, kami memutuskan untuk membuat dump, rename, dan membuat tabel dengan nama yang sama dan struktur baru. Tapi dump membuat salinan yang ketat (setidaknya saya tidak menemukan yang lain). Jadi saya menambahkan untuk membuang kolom baru dengan
seddan menanyakannya. Tetapi beberapa kesalahan aneh dimulai. Saya percaya itu disebabkan oleh charset. Tabel di utf-8 dan file menjadi as-ascii setelahnyased. Jadi saya mendapat kesalahan (perintah tidak dikenal '\' ') pada 30% data. Jadi ini juga cara yang buruk.
Apa pilihan lain untuk mencapai ini dan mempercepat kinerja (saya bisa melakukannya dengan skrip php, tetapi akan memakan waktu lama). Apa yang akan menjadi kinerja INSERT SELECTdalam hal ini.
Terima kasih atas kemajuannya.
SET NAMES utf8danCOLLATION. Tapi mengapa idh 30% dari data rusak setelahsed. Saya pikir muatan curah akan menjadi yang tercepat, tetapi mungkin sesuatu yang lebih ada yang saya lewatkan. Terima kasih, Mark