MyISAM和InnoDB的区别

5.1 数据表的类型

1
2
3
4
5
-- 关于数据库引擎
/*
INNODB 默认使用
MYISAM 早期使用
*/
MYISAM INNODB
事务支持 不支持 支持
数据行锁定 不支持 支持
外键约束 不支持 支持
全文索引 支持 不支持
表空间大小 较小 较大,约为前者两倍

常规使用操作

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

物理空间存在的位置

  • 所有数据库文件都存在(Environment)data目录下
  • 本质还是文件的存储

MySQL引擎在文件上的区别

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

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

1
CHARSET=utf8

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


在my.ini中配置默认编码(8.0版本的文件在C盘某位置)

1
character-set-server=utf8