MySQL大规模兼容性:是否使用关系和外键?

时间:2010-10-15 09:36:41

标签: mysql

是否有人有关于

等关系的大规模兼容性(商业主机)的经验
FOREIGN KEY ( `car` ) REFERENCES `vehicles` (`id`) ON DELETE CASCADE ON UPDATE CASCADE

我注意到其他广泛传播的PHP / MySQL应用程序虽然看起来非常有用但却没有使用它们。

我应该知道任何已知的负面副作用吗?感谢。

3 个答案:

答案 0 :(得分:1)

外键(或级联)没有“兼容性”问题,规则很简单

  • InnoDB支持
  • MyISAM没有

您可以选择在表格的DDL中使用哪个引擎。

答案 1 :(得分:1)

存在“兼容性”问题!许多托管公司停用InnoDB,因此除非您确实需要,否则不要使用它。因为这个原因,我停止使用Innodb。

答案 2 :(得分:0)

它们非常有用,如果可以,你应该使用它们。

仅当您使用InnoDB存储引擎而不是默认的MyISAM存储引擎时,它们才可用。关于InnoDB,你应该知道一些事情(最重要的是:由于它存储数据和索引表的方式,你应该选择一个简短的主键)。使用InnoDB还有其他好处:能够使用事务,更好地控制表锁定,并且在发生崩溃时不太可能搞砸数据。

对于大多数用途,InnoDB优于MyISAM。我会说你应该只在

时使用MyISAM
  • 你对可以使用多少空间有一个严格的限制(InnoDB表占用更多的空间)
  • 您需要全文搜索功能(MyISAM更适合此目的)。