Trước hết hãy kiểm tra xem cơ sở dữ liệu của bạn có hỗ trợ công cụ InnoDB không (tôi đặt cược nó được hỗ trợ;)):
SHOW ENGINES\G
Nếu vậy, có đã được mặc định innodb related parameters tại chỗ, kiểm tra chúng bằng:
SHOW VARIABLES LIKE '%innodb%'
và cố gắng hiểu họ và thay đổi theo nhu cầu cụ thể của bạn. Ngay cả khi bạn sử dụng các tham số mặc định, bây giờ bạn có thể chơi arround với các bảng InnoDB.
Nếu bạn muốn tạo chỉ các bảng InnoDB, bạn có thể thay đổi công cụ lưu trữ mặc định của mình, cho phiên hiện tại của bạn bằng: SET storage_engine=INNODB;
hoặc trong cấu hình của bạn bằng cách sử dụng tùy chọn mặc định lưu trữ động cơ.
Nhân tiện, cách nhanh nhất để chuyển đổi bảng thành InnoDB không phải là cách được mô tả ở trên. Người ta có thể làm như sau để chuyển đổi một bảng để InnoDB chỉ đơn giản chèn dữ liệu:
CREATE TABE new AS SELECT * FROM old WHERE 1<>1;
ALTER TABLE new ENGINE = INNODB;
INSERT INTO new SELECT * FROM old;
Tất nhiên bạn phải thêm các chỉ số bạn cần bằng tay, nhưng thường có giá trị thời gian của mình (và đau) giúp bạn tiết kiệm so với số ALTER TABLE ...
trên các bảng lớn hơn một chút.
Nguồn
2012-04-06 06:23:12
Câu hỏi của tôi là về những thay đổi đối với cấu hình my.cnf cần được thực hiện vì cnf hiện tại không có tham số liên quan đến innodb. – shantanuo
Giải pháp dưới đây đề xuất "SHOW ENGINES" sẽ cho bạn biết liệu bạn có cần thay đổi thêm tệp my.cnf của mình hay không. Nếu vậy, chỉ cần chắc chắn "skip-innodb" được nhận xét. Hãy nhớ khởi động lại động cơ mysql của bạn một cách duyên dáng. –
Trong trường hợp đó, InnoDB sẽ chạy trên các giá trị mặc định. Câu hỏi của tôi là về những gì mặc định cần phải được thay đổi. Hay nó sẽ hoạt động tốt trong thời gian dài với cài đặt mặc định? Tôi đã liệt kê ngắn 3 thông số quan trọng nhất, tôi muốn biết thêm. – shantanuo