Với MySQL, bao lâu thì một CƠ SỞ DIỆN TÍCH KHÁC tuyên bố cuối cùng?


12

Nếu bạn tắt các khóa (tạm dừng lập chỉ mục) trên bảng mysql INNODB, cài đặt đó sẽ kéo dài bao lâu?

Đối với một truy vấn như:

ALTER TABLE users DISABLE KEYS;

Các phím có được bật lại ở cuối tập lệnh không? hoặc chúng tồn tại cho đến khi bạn bật lại chỉ mục một cách rõ ràng?


Câu hỏi này xứng đáng được +1 vì đã giúp người khác nhận ra điều gì đó về các phím DISABLE, ENABLE KEY và InnoDB.
RolandoMySQLDBA


Câu trả lời:


7

Sách hướng dẫn tốt (rất đáng để đọc) gợi ý rằng tác dụng của câu lệnh đó sẽ kéo dài cho đến khi một ALTER TABLE ... ENABLE KEYScâu lệnh tương ứng được thực thi.


6

Trong thực tế, ALTER TABLE ... CÁC KHOẢN TỪ KHÓA VÀ ALTER TABLE ... Các phím ENABLE không hoạt động !!!!

Tôi đã giải quyết điều này trở lại vào ngày 13 tháng 2 năm 2011.

Tôi đã thực hiện một số hoạt động đào thêm và phát hiện ra từ công ty mẹ của InnoDB, InnoBase Oy (trước khi được thực hiện 7 trên 9 trong Oracle Borg), rằng đây thực sự là trường hợp.

Liên kết này gợi ý thực hiện các phím DISABLE và vô hiệu hóa các khóa ngoại cùng nhau. Mặc dù tôi nghĩ cả hai đều không cần thiết, nhưng điều này rõ ràng có hiệu quả với ai đó.

CẬP NHẬT 2011/07/18 12:35 EDT

Đây là một câu hỏi rất hay vì nó phơi bày một tội ác còn sót lại trong MySQL. Chương trình mysqldump làm giảm một cách mù quáng các phím DISABLE và các phím ENABLE xung quanh việc tạo và tải trên mỗi bảng mà không liên quan đến công cụ lưu trữ. Do các phím DISABLE và các phím ENABLE không hoạt động (trong trường hợp tốt nhất không có tác dụng) trên các bảng InnoDB vì nó hoạt động đúng với MyISAM, nên thực tế chưa biết này sẽ được cộng đồng MySQL ghi lại tốt hơn. Ồ phải, MySQL ở giữa Đế chế Thiên hà được gọi là Oracle. Tôi sẽ không nín thở về những thay đổi tài liệu sắp tới.


3
Đưa ra tuyên bố là một chuyện. Hét lên bằng cách sử dụng cả mũ và in đậm là hơi quá mức và hoàn toàn không cần thiết.
John Gardeniers

1
@ John: Tôi xin lỗi tôi có vẻ quá nhiệt tình. Tôi không giận ai cả. ALTER TABLE DISABLE / ENABLE KEY đối với InnoDB không được ghi lại rõ ràng. Oracle cũng sẽ không cải thiện mọi thứ.
RolandoMySQLDBA

@RolandoMySQLDBA có cách giải quyết nào để tránh mysqldump đưa các phím DISABLE và ENABLE vào tệp kết xuất không?
pahnin
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.