Database InnoDB与其他存储引擎的区别
当我搜索它时,我发现当InnoDB用作存储引擎时,它会锁定表中的特定行,而MYISM(索引顺序访问方法)会锁定整个表。Database InnoDB与其他存储引擎的区别,database,innodb,Database,Innodb,当我搜索它时,我发现当InnoDB用作存储引擎时,它会锁定表中的特定行,而MYISM(索引顺序访问方法)会锁定整个表。 那么,在现实世界的例子中,这意味着什么呢?InnoDB和MyISAM之间的主要区别(“在设计表或数据库方面”,您所问的)是对“引用完整性”和“事务”的支持 如果您需要数据库来实施外键约束,或者需要数据库来支持事务(即,两个或多个DML操作作为单个工作单元进行的更改,所有更改都已应用,或者所有更改都已还原),那么您可以选择InnoDB引擎,因为MyISAM引擎没有这些功能 这是两
那么,在现实世界的例子中,这意味着什么呢?InnoDB和MyISAM之间的主要区别(“在设计表或数据库方面”,您所问的)是对“引用完整性”和“事务”的支持 如果您需要数据库来实施外键约束,或者需要数据库来支持事务(即,两个或多个DML操作作为单个工作单元进行的更改,所有更改都已应用,或者所有更改都已还原),那么您可以选择InnoDB引擎,因为MyISAM引擎没有这些功能 这是两个最大的区别。另一个很大的区别是并发性。使用MyISAM,DML语句将获得表上的独占锁,并且当该锁被持有时,其他会话无法对表执行SELECT或DML操作 您询问的两个特定引擎(InnoDB和MyISAM)有不同的设计目标。MySQL还有其他存储引擎,它们有自己的设计目标 因此,在InnoDB和MyISAM之间进行选择时,第一步是确定是否需要InnoDB提供的功能。如果没有,那么MyISAM将被考虑 如果没有对问题空间进行更详细的讨论,对差异进行更详细的讨论是相当不切实际的(在本论坛中)。。。应用程序将如何使用数据库、表的数量、表的大小、事务负载、select、insert、更新的数量、并发性要求、复制功能等 数据库的逻辑设计应以数据分析和用户需求为中心;使用关系数据库的选择会在以后出现,甚至会在以后选择MySQL作为关系数据库管理系统,然后为每个表选择存储引擎 以下是要点,您可以更容易地阅读 MYISAM:
- MYISAM支持表级锁定
- MyISAM专为满足速度需求而设计
- MyISAM不支持外键,因此我们使用MyISAM调用MySQL is数据库管理系统
- MyISAM使用 将三个不同的文件分开。(tablename.FRM,tablename.MYD, tablename.MYI)
- MYISAM不支持事务。你不能承诺和 用MYISAM回滚。一旦你发出命令,它就完成了
- MYISAM全文搜索
- 如果表比较静态,有很多选择,更新和删除较少,那么可以使用MyISAM
- InnoDB支持行级锁定
- InnoDB设计用于在处理大量数据时实现最高性能
- InnoDB支持外键,因此我们使用
- InnoDB是RDBMS InnoDB存储 表空间中的表和索引
- InnoDB支持事务处理。 您可以使用InnoDB提交和回滚
- MYISAM支持表级锁定
- MyISAM专为满足速度需求而设计
- MyISAM不支持外键,因此我们使用MyISAM调用MySQL is数据库管理系统
- MyISAM使用 将三个不同的文件分开。(tablename.FRM,tablename.MYD, tablename.MYI)
- MYISAM不支持事务。你不能承诺和 用MYISAM回滚。一旦你发出命令,它就完成了
- MYISAM全文搜索
- 如果表比较静态,有很多选择,更新和删除较少,那么可以使用MyISAM
- InnoDB支持行级锁定
- InnoDB设计用于在处理大量数据时实现最高性能
- InnoDB支持外键,因此我们使用
- InnoDB是RDBMS InnoDB