Mysql中innodb和myisam
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Mysql中innodb和myisam,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1741字,纯文字阅读大概需要3分钟。
内容图文
![Mysql中innodb和myisam](/upload/InfoBanner/zyjiaocheng/511/dc919df3679e457b8d2779563255f753.jpg)
innodb和myisam两种存储引擎的区别
1.事务和外键
1)InnoDB具有事务,支持4个事务隔离级别,回滚,崩溃修复能力和多版本并发的事务安全,包括ACID。如果应用中需要执行大量的INSERT或UPDATE操作,则应该使用InnoDB,这样可以提高多用户并发操作的性能
2)MyISAM管理非事务表。它提供高速存储和检索,以及全文搜索能力。如果应用中需要执行大量的SELECT查询,那么MyISAM是更好的选择
2.全文索引
1)Innodb不支持全文索引,如果一定要用的话,最好使用sphinx等搜索引擎。
2)myisam对中文支持的不是很好
3.锁
1)mysql支持三种锁定级别,行级、页级、表级;
2)MyISAM支持表级锁定,提供与 Oracle 类型一致的不加锁读取(non-locking read in SELECTs)
3)InnoDB支持行锁,InnoDB表的行锁也不是绝对的,如果在执行一个SQL语句时MySQL不能确定要扫描的范围,InnoDB表同样会锁全表,注意间隙锁的影响。例如update table set num=1 where name like “%aaa%”
4.存储
1)MyISAM在磁盘上存储成三个文件。第一个文件的名字以表的名字开始,扩展名指出文件类型, .frm文件存储表定义,数据文件的扩展名为.MYD, 索引文件的扩展名是.MYI
2)InnoDB,基于磁盘的资源是InnoDB表空间数据文件和它的日志文件,InnoDB 表的大小只受限于操作系统文件的大小
注意:MyISAM表是保存成文件的形式,在跨平台的数据转移中使用MyISAM存储会省去不少的麻烦
5、索引
1)InnoDB(索引组织表)使用的聚簇索引、索引就是数据,顺序存储,因此能缓存索引,也能缓存数据
2)MyISAM(堆组织表)使用的是非聚簇索引、索引和文件分开,随机存储,只能缓存索引
6、并发
1)MyISAM读写互相阻塞:不仅会在写入的时候阻塞读取,MyISAM还会在读取的时候阻塞写入,但读本身并不会阻塞另外的读
2)InnoDB 读写阻塞与事务隔离级别相关
Mysql中innodb和myisam
标签:读写 update ODB 并发 扩展 的区别 索引组织表 日志 多版本
本文系统来源:https://www.cnblogs.com/kakawith/p/10796575.html
内容总结
以上是互联网集市为您收集整理的Mysql中innodb和myisam全部内容,希望文章能够帮你解决Mysql中innodb和myisam所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。