2010-12-22 41 views
0

我有一個detabase ERD,它具有gen/spec(繼承)和大量的主鍵和外鍵的使用。我將用PHP開發我的站點,所以請幫助我out.i wl b等待你的好回覆。什麼類型的引擎(InnoDB或MyISAM)應該用於我的數據庫的網站?

+0

可能重複的[MySql:MyISAM與Inno DB!](http://stackoverflow.com/questions/277440/mysql-myisam-vs-inno-db) – ajreal 2010-12-22 23:51:13

+0

首先,存儲引擎是表特定的數據庫特定。 – kta 2013-12-14 03:09:46

+0

[MyISAM與InnoDB]可能重複(http://stackoverflow.com/questions/20148/myisam-versus-innodb) – 2014-02-25 14:51:50

回答

1

如果您有ERD(關係數據庫建模術語),那麼您將不會有「gen spec」,您將擁有Relationallly建模的Supertype-Subtype表。如果你有「gen spec」,那麼你沒有關係數據庫,你有一個文件系統,你堅持你的對象。那麼,你有哪一個?

如果您有關係型數據庫,那麼一定要使用InnoDB。 MyISAM不是「關係型」,因爲沒有聲明參考完整性等。

如果您有「gen-spec」,因爲它不是Relational,所以您不需要Relational功能或關係引擎MyISAM很好。事實上,您的C:驅動器很好。

0

如果你打算強制執行主鍵和外鍵關係(這我會建議)你應該使用InnoDB。 MyISAM不支持這些功能來強制引用完整性。

4

個人觀點:您不應該使用MyISAM進行任何新操作。 InnoDB支持很多MyISAM不支持的功能,最重要的是事務處理,其次是參照完整性和其他一些項目。許多人會試圖爭辯說MyISAM速度更快,所以它仍然佔有一席之地,但a)差距已經大大縮小,加速可以在數據庫之外完成(即memcached等),而b )具有不良數據的快速數據庫並不是那麼有用。

+0

嗨!那麼爲什麼大多數開發者使用MyISAM作爲網站數據庫? – Napster 2011-05-18 21:04:13

相關問題