2012-03-05 18 views

回答

4
  1. 您可能正在創建外鍵的表是MyISAM。轉至表設計視圖,然後轉到選項選項卡表更換引擎InnoDB的

  2. 您可以將所有的表在http://kevin.vanzonneveld.net/techblog/article/convert_all_tables_to_innodb_in_one_go/

  3. 改變InnoDB的以下步驟添加默認存儲引擎= InnoDB的從http://dev.mysql.com/doc/refman/5.5/en/innodb-default-se.html

你的MySQL配置文件(通常my.cnf中)的的[mysqld]部分沒有瑕疵從MySQL 5.5畢竟是InnoDB的默認存儲引擎。

+0

是否有可能一次對所有表執行此操作?或者將引擎默認設置爲InnoDB?還是有缺陷? – 2012-03-05 10:28:51

+2

@Webscrabbler沒有缺陷,但有時MyISAM可能比InnoDB更快。例如,MyISAM處理非阻塞和非事務性的concurent插入。它也沒有主鍵上的集羣化(也可能是缺點)。等等因此,根據您的表格工作負載,可能會存在一些性能問題。 – 2012-03-05 14:43:46

2

執行

SHOW CREATE TABLE myTable; 

,然後再檢查

ENGINE = InnoDB 

如果這是真的,你可以使用外鍵。檢查它是否包含這樣的東西:

FOREIGN KEY (customer_id) REFERENCES customer(id) 

希望有幫助!

相關問題