InnoDB和MYISAM的区别

fyh 2022年02月24日 56次浏览

InnoDB和MYISAM是mysql的两种引擎
早期版本默认使用的是MYISAM,现在默认使用InnoDB。

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

常规使用操作:

  • MYISAM 节约空间,速度较快
  • INNODB 安全性高,事务处理,多表多用户操作

在物理空间中的位置

所有的数据库文件都存在data目录下

本质还是文件存储

MYSQL引擎在物理文件上的区别:

  • InnoDB在数据库表中只有一个*.frm文件,以及上级 目录下的ibdata1文件
  • MYISAM对应文件
    • *.frm - 表结构的定义文件
    • *.MYD 数据文件(data)
    • *.MYI 索引文件(index)

设置数据库的字符集编码

CHARSET=utf8

不设置的话,会是mysql默认的字符集编码,不支持中文。

在my.ini中配置默认的编码

character-set-server=utf8