我必须开发一个大型应用程序,一个学校管理系统;哪个MySQL存储引擎会更好? MyIsam或InnoDB还是其他任何一个?
答案 0 :(得分:2)
InnoDb
支持关系,MyISAM
没有。如果您的应用需要此功能,则应使用InnoDB
。
其他主要差异包括:
杨洋source
请参阅this问题,然后找出适合自己的情况。
答案 1 :(得分:2)
通过以下链接,您可以更好地理解使用innodb或MyISAM。
http://www.mysqlperformanceblog.com/2009/01/12/should-you-move-from-myisam-to-innodb/
答案 2 :(得分:0)
您没有提供有关您的任务的大量信息。很可能你会有相关的表(innodb支持外键),除了innodb在myisam的并发环境中使用更有效的阻塞。所以使用InnoDb作为默认引擎是合理的。
答案 3 :(得分:0)
首先让我告诉你,对于这种管理系统,并发不是一个主要问题,因为你不会同时进行交易。因此,您提到的存储机制InnoDB具有足够的功能,如ACID合规性,崩溃恢复,行级锁定等,适用于您的应用程序,但这并不意味着InnoDB更好。
主要问题是数据仓库因为这样的系统数据在很大程度上增长。因此,为了满足这一需求,Mylsam看起来很合适,因为它是默认的存储引擎,并且在数据仓库环境中广泛使用。
Merge或MRG_MylSam是另一种选择。它使您能够对一系列相同的MylSam表进行逻辑分组,并将它们作为一个对象引用。对于VLDB(超大型数据库)环境也非常有用。
其他一些存储引擎是NDBCluster,Federated,Archive等,我认为你不需要...... 祝你好运.. !!
答案 4 :(得分:0)
使用InnoDB,它的性能已经出现并且它还支持外键。
在撰写本文时,还要针对最新的MySQL版本5.5.x。当来自Oracle的Vanilla MySQL性能成为问题时,您可以查看替代服务器,如Percona(http://percona.com),这些服务器都是替代品。
来自MySQL 5.5的BTW InnoDB是MySQL服务器中的默认存储引擎