spe*_*593 410
InnoDB和MyISAM之间的主要区别("关于设计您所询问的表或数据库")是对"参照完整性"和"事务"的支持.
如果您需要数据库来强制执行外键约束,或者您需要数据库来支持事务(即,作为单个工作单元处理的两个或多个DML操作所做的更改,应用所有更改,或者还原所有更改)然后你会选择InnoDB引擎,因为MyISAM引擎中没有这些功能.
这是两个最大的差异.另一个很大的区别是并发性.使用MyISAM,DML语句将获取表上的独占锁,并且在保持该锁的同时,没有其他会话可以对表执行SELECT或DML操作.
您询问的两个特定引擎(InnoDB和MyISAM)具有不同的设计目标.MySQL还有其他存储引擎,有自己的设计目标.
因此,在InnoDB和MyISAM之间进行选择时,第一步是确定您是否需要InnoDB提供的功能.如果没有,那么MyISAM就可以考虑了.
更详细地讨论差异是不切实际的(在这个论坛中),没有对问题空间进行更详细的讨论......应用程序将如何使用数据库,表格数量,表格大小,交易负载,选择量,插入,更新,并发要求,复制功能等.
数据库的逻辑设计应以数据分析和用户需求为中心; 选择使用关系数据库会在以后出现,甚至以后会选择MySQL作为关系数据库管理系统,然后为每个表选择一个存储引擎.
med*_*ina 338
MYISAM:
INNODB:
| 归档时间: |
|
| 查看次数: |
258868 次 |
| 最近记录: |