当前位置:   article > 正文

常见的存储引擎及区别_存储引擎区别

存储引擎区别

存储引擎就是指表的类型以及表在计算机上的存储方式

MySQL 中常用的四种存储引擎分别是:MyISAMInnoDBMEMORYARCHIVE

MySQL 5.5 版本后默认的存储引擎为InnoDB。

1、InnoDB 存储引擎

InnoDB给MySQL的表提供了事务处理、回滚、崩溃修复能力和多版本并发控制的事务安全。在MySQL从3.23.34a开始包含InnnoDB。它是MySQL上第一个提供外键约束的表引擎。而且InnoDB对事务处理的能力,也是其他存储引擎不能比拟的。靠后版本的MySQL的默认存储引擎就是InnoDB

InnoDB存储引擎总支持AUTO_INCREMENT。MySQL中规定自增列必须为主键。

InnoDB还支持外键(FOREIGN KEY)。外键所在的表叫做子表,外键所依赖(REFERENCES)的表叫做父表。父表中被字表外键关联的字段必须为主键。当删除、更新父表中的某条信息时,子表也必须有相应的改变,这是数据库的参照完整性规则

InnoDB存储引擎完全与MySQL服务器整合,InnoDB存储引擎为在主内存中缓存数据和索引而维持它自己的缓冲池。

InnoDB将它的表和索引在一个逻辑表空间中(就是索引的key和data放在一起,聚集索引),表空间可以包含数个文件(或原始磁盘文件)。这与MyISAM表不同,比如在MyISAM表中每个表被存放在分离的文件中(索引的key和data不放在一起,而data存的是地址的指针,非聚集索引)。InnoDB表可以是任何尺寸,即使在文件尺寸被限制为2GB的操作系统上

InnoDB中,创建的表的表结构存储在.frm文件中(我觉得是frame的缩写吧)。数据和索引存储在innodb_data_home_dir和innodb_data_file_path定义的表空间中。

优点:提供了良好的事务处理、崩溃修复能力和并发控制。

缺点:占用的数据空间相对较大。

2、MyISAM 存储引

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/317046
推荐阅读
相关标签
  

闽ICP备14008679号