Khi sử dụng lệnh:Tại sao MySQL sử dụng bảng tạm thời để thả khóa chính?
ALTER TABLE my_table DROP PRIMARY KEY;
Nhà nước (khi HIỂN THỊ processlist) xuất hiện như:
copy to tmp table
Tại sao nó sẽ cần phải sử dụng một bảng tmp để "thả" một ràng buộc khoá chính?
"chi tiết triển khai" ;-) Tôi sẽ nghi ngờ các thay đổi phân cụm dữ liệu cơ bản - ví dụ: nó di chuyển đến một "đống" hoặc các cụm lại trong công cụ cụ thể đó? (InnoDB? MyISAM?) Vì nó là một hoạt động DDL - và không phải là một hoạt động phổ biến - "cách đơn giản nhất" thường là "cách tốt nhất", đặc biệt nếu nó có thể tái sử dụng các đường dẫn mã được kiểm tra/xác minh. –