mysql的innodb与myisam(oracle主键和唯一索引的区别)

InnoDB和MyISAM是很多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,5.7之后就不一样了1、事务和外键InnoDB具有事务,支持4个事务隔离级别,回滚,崩溃修复能力和多版本并发的事务安全,包括ACID。如果应用中需要执行大量的INSERT或UPDATE操作,则应该使用InnoDB,这样可以提高多用户并发操作的性能MyISAM管理非事务表。它提供高速存储和检索,以及全文搜索…

大家好,又见面了,我是你们的朋友全栈君。

InnoDB和MyISAM是很多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,5.7之后就不一样了

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

<

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/129746.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • XML简单介绍

    XML简单介绍

    2021年10月3日
    36
  • FORM表单

    FORM简介我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否

    2022年3月29日
    36
  • intellij idea 控制台中文乱码_idea server控制台乱码

    intellij idea 控制台中文乱码_idea server控制台乱码本人下载了一开源工程,该工程采用的是maven进行编译,在导入到itellijidea后,按如下图配置好maven编译环境但是采用配置好的maven进行编译时,在run的控制台输出窗口中出现乱码,导致无法编译,由于工程是utf-8编码,所以按如下方式配置了工程的编码网上run控制台输出乱码的解决思路如下:1)参照上面配置工程编码的方式将GlobalEncoding/Proj…

    2022年8月29日
    3
  • 2021年顶级编程语言名单出炉,SQL位居榜首,Java、Python紧随其后

    2021年顶级编程语言名单出炉,SQL位居榜首,Java、Python紧随其后不同的编程语言会对我们的求职产生相当大的影响,但是目前哪种编程语言最受公司欢迎呢?EmsiBurningGlass收集并分析了数百万个招聘信息,qizhon给SQL位居榜首,Java位列第二,Python排名第三。

    2022年10月5日
    0
  • ORACLE触发器详解

    ORACLE触发器详解本文对原文做了格式和目录调整方便阅读。文章总结的很全面,感谢原作的辛勤付出!!!原文链接:http://www.cnblogs.com/huyong/archive/2011/04/27/2030466.html#!comments——————————————————————————–…

    2022年7月11日
    17
  • Java 学生成绩管理系统「建议收藏」

    Java 学生成绩管理系统「建议收藏」教学管理系统很适合初学者对于所学语言的练习。本文是javaSE中用文件流写的,这个也可以用数据库写。分析这个项目有1.学生2.老师3.教务人员4.管理员四个角色分别担任不同的任务。1.学生有属性id,密码,性别,年龄,和一个存放成绩的集合(因为一个学生可能会有多个科目,所以用集合来存放学生的所学科目)。2.老师有属性id,密码,性别,年龄,和一成绩类的对象(考虑到老师只

    2022年7月13日
    12

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号