储存引擎

  • Innodb 存储引擎
1: 所有的InnoDB表的数据和索引存储于同一个表文件中,但是表数据和表结构分离,例如
-rw-rw---- 1 mysql mysql 65 8月 27 14:31 db.opt
-rw-rw---- 1 mysql mysql 8614 8月 27 14:31 students.frm
-rw-rw---- 1 mysql mysql 98304 8月 27 14:31 students.ibd

db.opt文件是存放表数据和表索引的
students.frm文件是存放表结构的
因此,表数据和表结构分离, 每个表单独使用一个表文件来存储数据和索引

2:Mariadb默认的存储引擎是XtraDB,但是为了与MySQL兼容,因此也取名做InnoDB,因为MySQL的默认存储引擎是InnoDB。

3:使用聚集索引(数据和索引在一起),也支持自适应hash索引,锁粒度为行级别,支持支持热备工具 (Xtrabackup)

4:支持事务的存储引擎,适合处理大量的短期事务
  • MyISAM 存储引擎
1:所有的MyISAM表的数据和索引存放在不同的文件中,表结构也分离,例如:
-rw-rw---- 1 mysql mysql 10630 8月 27 13:12 user.frm
-rw-rw---- 1 mysql mysql 504 8月 27 13:15 user.MYD
-rw-rw---- 1 mysql mysql 2048 8月 27 14:30 user.MYI
user.frm:为表结构
user.MYD:为表数据
user.MYI:为表索引

2:支持全文索引(fulltext index),压缩,空间函数,

3:不支持事物,表级锁,适用于只读,读多写少
原文地址:https://www.cnblogs.com/liu1026/p/7467677.html