当前位置:网站首页>mysql的innodb存储引擎和myisam存储引擎的区别
mysql的innodb存储引擎和myisam存储引擎的区别
2022-08-03 07:27:00 【51CTO】
主要区别如下:
每一条SQL语言都默认封装成事务,自动提交,这样会影响速度,所以最好把多条SQL语言放在begin和commit之间,组成一个事务;而myisam强调的是性能,每次查询具有原子性,其执行数度比InnoDB类型更快,但是不提供事务支持。
InnoDB的行锁,只是在WHERE的主键是有效的,非主键的WHERE都会锁全表的。
索引和主键的表存在,索引都是保存行的地址;而InnoDB如果没有设定主键或者非空唯一索引,就会自动生成一个6字节的主键(用户不可见),数据是主索引的一部分,附加索引保存的是主索引的值。
4、外键差异。MyISAM不支持外键,而innodb支持外键。
5、存储结构。每个MyISAM表在磁盘上存储成三个文件。第一个文件的名字以表的名字开始,扩展名指出文件类型。.frm文件存储表定义。数据文件的扩展名为.MYD (MYData)。索引文件的扩展名是.MYI (MYIndex)。而innodb是由.frm文件、表空间(分为独立表空间或者共享表空间,如果在配置文件中配置了innodb_file_per_table=true或者不配置就会使用独立表空间)和日志文件(redo log)组成。
6、全文索引。MyISAM支持 FULLTEXT类型的全文索引;InnoDB的不支持FULLTEXT类型的全文索引,但是innodb可以使用sphinx插件支持全文索引,并且效果更好,而且自从mysql5.6版本开始innodb就已经开始支持全文索引,mysql8.0则完全抛弃MyISAM存储引擎了,所以淡化MyISAM吧,已经逐渐成为历史产品,nnoDB引擎对FULLTEXT索引的支持是MySQL5.6新引入的特性,之前只有MyISAM引擎支持FULLTEXT索引。。
7、都是B+树索引,Innodb是索引组织表,myisam是堆表,索引组织表和堆表的区别要熟悉;
边栏推荐
猜你喜欢
千万级别的表分页查询非常慢,怎么办?
计算机网络常见面试题总结
调用feign报错openfeign/feign-core/10.4.0/feign-core-10.4.0.jar
pyspark df secondary sorting
[ 漏洞复现篇 ] yapi 代码执行 getshell 漏洞复现详解
Postman will return to results generated CSV file to the local interface
requests库
Data warehouse buried point system and attribution practice
The use of the database table structure document generation tool screw
redis AOF持久化个人理解
随机推荐
Oracle Rac Cluster File Directory Migration
C语言实现树的底层遍历--超简代码
【云原生--Kubernetes】kubectl命令详解
安全狗云原生安全能力全面亮相全球数字经济大会暨ISC互联网安全大会
推荐系统-排序层-特征工程:用户特征、物品特征
9月考,如何选择靠谱正规的培训机构?
c现代方法16章基础
924. 尽量减少恶意软件的传播 前缀和
DSP Trick:向量长度估算
多线程案例
pyspark df secondary sorting
循环神经网络RNN基础《PyTorch深度学习实践》
Taro框架-微信小程序-调用微信支付
10 分钟彻底理解 Redis 的持久化和主从复制
boot-SSE
薛定谔的对象属性判断
差分(前缀和的逆运算)
调用feign报错openfeign/feign-core/10.4.0/feign-core-10.4.0.jar
深入理解IO流(第一篇)
剑指offer专项突击版第18天