MySQL功能我可以依赖于可用

时间:2011-01-14 16:43:50

标签: mysql innodb myisam

所以我正在开发一个基于PHP / MySQL的CMS,至少需要PHP 5.1和MySQL 5.0(支持InnoDB)。我现在想知道我可以安全地使用MySQL的哪些功能而没有注意到有一天“哦,好吧,那个糟糕的主机已经禁用了功能X,该死的,现在我搞砸了。”

所以我的问题是,哪些功能可能会出现问题(=可以禁用,需要特殊配置,需要用户权限):

  • InnoDB中的交易和FK(当然不适用于MyISAM)
  • 表锁定(MyISAM和InnoDB)
  • 存储过程

我只想一劳永逸地了解MySQL可以期待的最小功能集。

2 个答案:

答案 0 :(得分:0)

存储过程需要特权才能创建它们。

事务和锁定始终可用,只要您对所涉及的两个表都具有权限,FK就是可用的。

大约半小时前有一个question询问用户询问“主机禁用InnoDB引擎时该怎么做”。

答案 1 :(得分:0)

您提到的所有内容都作为特定引擎的一部分内置,因此可以在每个引擎的基础上进行定制(在某种程度上)。但是,大多数情况下,默认设置是要走的路。

换句话说,以与所有可能的配置方案兼容的方式编程CMS是不切实际的(在我看来,浪费时间)。坚持默认并将其作为要求的一部分。


InnoDB引擎中事务行为的某些方面可以自定义但不能禁用。

存储过程仅适用于MySQL 5.0版本。


在列表中的所有内容中,我会说存储过程不那么“稳定”,并且在将来的版本中可能会略有改变。可能是通过添加新功能。