百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> MySQL 中 InnoDB 和 MyISAM 区别
分享文章到:

MySQL 中 InnoDB 和 MyISAM 区别

发布时间:09/01 来源:未知 浏览: 关键词:

MySQL 中 InnoDB 和 MyISAM 不同

1、事务和外键

InnoDB具有事务,支撑4个事务隔离级别,回滚,崩溃修复能力和多版本并发的事务平安,包罗ACID。假如利用中需要施行大量的INSERT或UPDATE操纵,则应当使用InnoDB,这样可以提高多会员并发操纵的机能

MyISAM治理非事务表。它供给高速储备和检索,乃至全文搜索能力。假如利用中需要施行大量的SELECT查询,那么MyISAM是更好的选中

2、全文索引

Innodb不支撑全文索引,假如必然要用的话,最好使用sphinx等搜索引擎。myisam对中文支撑的不是很好

不外新版本的Innodb已经支撑了

3、锁

mysql支撑三种锁定级别,行级、页级、表级;

MyISAM支撑表级锁定,供给与 Oracle 类型一致的不加锁读取(non-locking read in SELECTs)

InnoDB支撑行级锁,InnoDB表的行锁也不是绝对的,假如在施行一个SQL语句时MySQL不克不及肯定要扫描的范畴,InnoDB表一样会锁全表,留意间隙锁的影响

例如update table set num=1 where name like “%aaa%”

4、储备

MyISAM在磁盘上储备成三个文件。第一个文件的名字以表的名字开端,扩展名指出文件类型, .frm文件储备表定义,数据文件的扩展名为.MYD, 索引文件的扩展名是.MYI

InnoDB,基于磁盘的资源是InnoDB表空间数据文件和它的日志文件,InnoDB 表的大小只受限于操纵系统文件的大小

留意:MyISAM表是留存成文件的情势,在跨平台的数据转移中使用MyISAM储备会省略不少的费事

5、索引

InnoDB(索引组织表)使用的聚簇索引、索引就是数据,次序储备,因此能缓存索引,也能缓存数据

MyISAM(堆组织表)使用的是非聚簇索引、索引和文件分开,随机储备,只能缓存索引

6、并发

MyISAM读写互相堵塞:不仅会在写入的时候堵塞读取,MyISAM还会在读取的时候堵塞写入,但读本身并不会堵塞别的的读

InnoDB 读写堵塞与事务隔离级别相关

引荐教程:《PHP教程》《MySQL教程》

以上就是MySQL 中 InnoDB 和 MyISAM 不同的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有151人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板