Khi thêm cột vào bảng MyISAM, MySQL sẽ Tạo> Sao chép> Thả> Đổi tên. Tôi có một bảng đủ lớn mà nó không thể được nhân đôi trong không gian trống còn lại của máy chủ. Cố gắng thêm một cột sau đó kết quả trong việc điền đĩa. Thời gian không phải là một vấn đề ở đây, không phải là bảng sẵn có, chỉ cần không gian đĩa.MySQL ALTER BẢNG trên các bảng quá lớn để nhân bản
Ngắn sao chép dữ liệu sang máy chủ khác, cắt xén, thay đổi và sao chép lại, có cách thêm cột vào bảng MyISAM mà không cần tạo bảng tạm thời và sao chép tất cả dữ liệu không?
Tôi sợ điều này, nhưng hy vọng sẽ có một cách tiếp cận ít thủ công hơn. Nó có thể là những gì tôi sẽ làm. – Umbrella
Cuối cùng, phương pháp này không thành công, làm đầy đĩa mặc dù kích thước slice của tôi. MySQL không giải phóng đĩa khỏi các hàng đã xóa. Đang chạy OPTIMIZE để yêu cầu MySQL giải phóng đĩa chứa đầy đĩa. – Umbrella
Tôi đoán nó sẽ làm việc tốt hơn với InnoDB, vì bảng mới sẽ sử dụng lại các trang miễn phí trong tệp idb. Tôi sợ tôi không có ý tưởng nào khác, xin lỗi. –