• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > MySQL 中 InnoDB 和 MyISAM 区别

MySQL 中 InnoDB 和 MyISAM 区别

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了MySQL,InnoDB和MyISAM区别等相关知识,希望对您有所帮助

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 读写阻塞与事务隔离级别相关



分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • PHP存入mysql乱码怎么办
  • PHP使用mysqli同时执行多条sql查询语句的实例
  • MySQL怎么修改一列的值
  • 怎么解决phpmyadmin显示MySQL数据表“使用中” 修复后依然无效的问题
  • Centos MySQL 忘记密码怎么办
  • Mysql怎么查看字段的属性值
  • 宝塔Linux面板之修改MySQL默认保存位置
  • 如何修改mysql的默认时区
  • 如何解决mysql 5.6 中文 乱码问题
  • 解决linux下mysql启动失败的问题

相关文章

  • 2022-04-29jQuery sibling是什么意思
  • 2022-04-29PHP中子类如何调用父类的静态方法
  • 2022-04-29如何解决uni图标在app上不显示的问题
  • 2022-04-29Phpcms自定义URL规则技巧
  • 2022-04-29Linux下查看PHP配置文件php.ini的位置
  • 2022-04-29解决thinkphp5中图片处理中遇到的问题
  • 2022-04-29Javascript删除字符串最后一个字符
  • 2022-04-29Photoshop制作冒气泡的透明艺术字教程
  • 2022-04-29针对SEO怎样聪明的使用 Flash
  • 2022-04-29Photoshop设计发光生锈的艺术字教程

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • Illustrator制作电视台标志
    • CSS如何实现渐变提示框(tooltips)
    • Photoshop制作漂亮糖果文字效果
    • CDR设计制作漂亮婚庆字体
    • Photoshop巧用滤镜制作简单的冰晶字效果
    • Windows/Linux下Composer的安装与使用(详解)
    • PHP中子类如何调用父类的静态方法
    • CorelDraw制作手提袋和礼品盒
    • 教你用PHP实现微信小程序人脸识别刷脸登录功能
    • 用PS制作漂亮的立体3D橙色玻璃RSS Icon图标设计教

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有