我是joomla的新手,刚刚发现它默认使用myISAM数据库引擎。
我已经搜索了joomla论坛和扩展目录,甚至在谷歌但没有得到有用的结果。由于joomla是一个如此大的社区,我不确定为什么似乎没有人能够得到答案。
我想知道是否有任何众所周知的发行版/扩展版将使joomla使用innodb,以便它可以支持事务。
如果没有,我仍然想知道如果必须这样做会有多困难。
答案 0 :(得分:3)
您可以随时转到installation/sql/mysql/joomla.sql
并在安装Joomla之前将TYPE=MyISAM
的所有实例更改为TYPE=InnoDB
。但是,核心Joomla组件中没有任何利用事务的查询。虽然您可以编写自己的组件来执行此操作,但核心Joomla功能仍然不会。此外,如果您还没有注意到,核心Joomla组件将“锁定”某些表的行。它通过设置一个标志来指定当前正在编辑该项目的用户的ID。不太理想,但当人们使用非事务性数据库引擎时,它有助于避免冲突。
答案 1 :(得分:1)
我不太确定强制使用db引擎类型是有意义的。允许安装Joomla的管理员选择引擎类型更有意义。如果没有特别设置,Joomla将采用默认值。您可以通过更改mySQL配置或使用启动参数更改默认存储引擎来更改默认存储引擎。
请参阅:http://dev.mysql.com/doc/refman/5.0/en/storage-engines.html
答案 2 :(得分:1)
答案 3 :(得分:1)
joomla使用InnoDB不支持的FULLTEXT SEARCH索引,只要你将momQL上的joomla与innoDB一起部署,它就会抱怨InnoDB不支持FULLTEXT搜索