Đôi khi chúng ta sẽ sớm cần thay đổi lược đồ cho cơ sở dữ liệu sản xuất của mình. Tuy nhiên, chúng ta cần giảm thiểu thời gian chết cho nỗ lực này, các câu lệnh ALTER TABLE sẽ chạy khá lâu. Bảng lớn nhất của chúng tôi có 150 triệu bản ghi, tệp bảng lớn nhất là 50G. Tất cả các bảng đều là InnoDB, và nó được thiết lập thành một tệp dữ liệu lớn (thay vì một tệp cho mỗi bảng). Chúng tôi đang chạy MySQL 5.0.46 trên máy 8 lõi, bộ nhớ 16G và cấu hình RAID10.Tối ưu hóa MySQL cho ALTER BẢNG của InnoDB
Tôi có một số kinh nghiệm với điều chỉnh MySQL, nhưng điều này thường tập trung vào đọc hoặc viết từ nhiều khách hàng. Có rất nhiều thông tin được tìm thấy trên Internet về chủ đề này, tuy nhiên, có vẻ như có rất ít thông tin sẵn có về các phương pháp hay nhất để (tạm thời) điều chỉnh máy chủ MySQL của bạn để tăng tốc ALTER TABLE trên các bảng InnoDB hoặc cho INSERT INTO. CHỌN TỪ (chúng tôi có thể sẽ sử dụng điều này thay vì ALTER TABLE để có thêm một số cơ hội để tăng tốc độ lên một chút).
Thay đổi lược đồ mà chúng tôi dự định làm là thêm cột nguyên vào tất cả các bảng và đặt làm khóa chính, thay vì khóa chính hiện tại. Chúng ta cũng cần giữ cột 'cũ' để ghi đè các giá trị hiện tại không phải là một lựa chọn.
Cài đặt lý tưởng để thực hiện tác vụ này nhanh nhất có thể là gì?
Liên quan: http://stackoverflow.com/q/9524938/632951 – Pacerier