首页 > 其他分享 >【学习笔记】InnoDB 和 MYISAM 的区别

【学习笔记】InnoDB 和 MYISAM 的区别

时间:2022-09-28 16:55:32浏览次数:55  
标签:文件 数据库 支持 INNODB 笔记 MYISAM InnoDB

InnoDB 和 MYISAM 的区别

InnoDB 和 MYISAM 是 数据库引擎,也就是数据库表的类型

  • INNODB 现在默认使用

  • MYISAM 早些年默认使用

 

INNODB 和 MYISAM 的区别

  MYISAM INNODB
事务支持 不支持 支持
数据行锁定 不支持 支持
外键约束 不支持 支持
全文索引 支持 不支持
表空间的大小 较小 较大,约为MYISAM的两倍

 

  • 事务支持:两条sql同时执行,一条成功,一条不成功,那么这段代码还是会失败。

    事务是由一步或几步数据库操作序列组成逻辑执行单元,这系列操作要么全部执行,要么全部放弃执行。程序和事务是两个不同的概念。一般而言:一段程序中可能包含多个事务。(说白了就是几步的数据库操作而构成的逻辑执行单元

  • 数据行锁定:假设有两条sql去查同一张表,需要先锁住这张表,使这两条sql逐个去查,MYISAM就是表锁,而INNODB是行锁,只锁那一行记录

  • 全文索引:在一篇文章里找某一个字段

 

 

各自的好处:

  • MYISAM 节约空间,速度较快

  • INNODB 安全性高,事务的处理,多表多用户操作

 

 

在物理空间存在的位置

所有数据库文件都存在data文件夹下

每个数据库都对应一个文件夹,在文件夹中都是一些文件,所以本质还是文件存储

MySQL引擎在物理文件上的区别

  • INNODB

    • *.frm

    • 上一级目录的 ibdata1 文件

image-20220928164216628

image-20220928164252069

  • MYISAM

    • *.frm 表结构的定义文件

    • *.MYD 数据文件(data)

    • *.MYI 索引文件(index)

image-20220928164407788

 

设置数据库表的字符集编码

CHARSET=utf8

不设置的话,默认为Latin1,不支持中文

如果不设置,可以在my.ini 文件中配置默认编码

character-set-server=utf8

但是不建议这样设置,因为如果一旦把代码换到另外的电脑,那台电脑没有设置,就会出错。

所以我们在创建表的时候就给他设置字符编码

标签:文件,数据库,支持,INNODB,笔记,MYISAM,InnoDB
From: https://www.cnblogs.com/wztblogs/p/16738698.html

相关文章

  • MLP4Rec: A Pure MLP Architecture for Sequential Recommendations阅读笔记
    动机本文是2022年IJCAI上的一篇论文。自注意力模型在序列推荐上取得了卓越的效果,但是它们依赖位置编码保存顺序关系,然而位置编码可能会破坏原始embedding所包含的信息。现......
  • 【学习笔记】创建数据库表
    创建数据库表 我们以创建学生表为例,里面的字段有:id、姓名、性别、出生日期、email等。CREATETABLE`student`(`id`INT(10)NOTNULLAUTO_INCREMENTCOMMENT'......
  • java学习笔记31
    java面向对象回顾方法的定义修饰符返回类型packageoop;//类publicclassDemo01{  //main方法  publicstaticvoidmain(String[]args){     ......
  • java学习笔记30
    java面向对象什么是面向对象java的核心思想就是面向对象编程定义面向对象编程(oop)面向对象编程的本质就是:以类的方式组织代码,以对象的形式封装数据抽象:把很多个共同点......
  • 11、Android Studio的ARM Neon学习笔记
    基本思想:先深入的学习一下ARMNeon的基本原理,在开始测试NCNN大佬&ZZ大佬贡献的源码~学习大佬博客:​​https://www.yuque.com/docs/share/3eff70c4-c70f-40df-b0af-df9fa7365......
  • (转载)【RocketMQ 课程笔记】17.消费者基于Tag实现消息过滤
    消费者基于Tag实现消息过滤在发送消息时,需要设置消息的“标记Tag”,Tag用于说明消息的某项特征,消费者可以根据这个特征决定是否接收这些消息。消息发送者com.itlaoqi.roc......
  • Redis笔记
    Redis建议参考目录使用!!!Redis(RemoteDictionaryServer),即远程字典服务redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并在此基础上实现了主从......
  • (转载)【RocketMQ 课程笔记】16.实现集群消费模式与广播消费模式
    集群消费模式与广播消费模式环境准备生产者CmProducer生产者是一致的,循环生成10条普通消息投给给Broker,主题为:cm-sample-data,Tag:test,Key:n@Slf4jpublicclassCmPro......
  • 【学习笔记】数据库的列类型和字段属性
    数据库的列类型和字段属性 列类型数值tinyint十分小的数据1个字节smallint较小的数据2个字节mediumint中等大小的数据3个字节int标准的整数4......
  • WebService笔记
    【WebService】是一种无关语言无关平台的远程调用技术。WebService是通讯是有状态的,使用Soap简单对象访问协议通讯。 WebService 有三要素:soap、wsdl、udd......