千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  应聘面试  >  Python面试题  > 你用的 Mysql 是哪个引擎,各引擎之间有什么区别?

你用的 Mysql 是哪个引擎,各引擎之间有什么区别?

来源:千锋教育
发布人:wjy
时间: 2022-08-22 14:35:30 1661150130

主要MyISAM 与 InnoDB两个引擎,其主要区别如下:  

InnoDB 支持事务,MyISAM 不支持,这一点是非常之重要。

事务是一种高级的处理方式,如在一些列增删改中只要哪个出错还可以回滚还原,而MyISAM 就不可以了; 

MyISAM适合查询以及插入为主的应用,InnoDB适合频繁修改以及涉及到安全性较高的应用; InnoDB支持外键,MyISAM不支持; 

 MyISAM是默认引擎,InnoDB需要指定; InnoDB 不支持FULLTEXT 类型的索引; InnoDB中不保存表的行数,如select count() from table时,InnoDB;需要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即可。

注意的是,当count()语句包含where 条件时MyISAM也需要扫描整个表;

对于自增长的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中可以和其他字段一起建立联合索引;

清空整个表时,InnoDB是一行一行的删除,效率非常慢。MyISAM 则会重建表; 

InnoDB 支持行锁(某些情况下还是锁整表,如 updatetable set a=1 where user like '%lee%'

你用的 Mysql 是哪个引擎,各引擎之间有什么区别?

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT