本篇文章为参考《MYSQL是怎么要运行的》所写,主要是讲述关于数据库中索引的一些相关知识。
什么是存储引擎,就是接收上层传下来的指令,然后对表中的数据进行读取或者写入的操作,也被称为表处理器。
MYSQL常见的存储引擎有以下几种:
存储引擎 | 描述 |
---|---|
ARCHIVE | 用于数据存档(记录插入之后不能再修改) |
BLAKHOLE | 丢弃写操作,读操作会返回空内容 |
CSV | 在存储数据的时候,以逗号分隔各个数据项 |
FEDERATED | 用来访问远程表 |
InnoDB (default) |
支持事务、行级锁、外键,我们一般都是使用该存储引擎,MYSQL默认的存储引擎也是这个 |
MEMORY | 数据只存储在内存,不存储在磁盘;多用于临时表 |
MERGE | 用来管理多个MyISAM 表构成的表集合 |
MyISAM (default before) |
主要的非事务处理存储引擎 |
NDB | MYSQL集群专用存储引擎 |
批注:
InnoDB
从MYSQL 5.5.5 版本开始作为MYSQL的默认存储引擎,之前版本的默认存储引擎是MyISAM
。关于
MyISAM
和InnoDB
引擎之间的关系后面再作陈述,MYSQL必知必会上面所讲述的如果是全文本搜索的话,我们需要使用MyISAM
引擎,那是因为在那个时候,只有MyISAM
引擎提供了全文本索引,但是时代变了,MySQL从3.23.23版本开始支持全文索引,MySQL5.6以前只能在存储引擎为MyISAM
的数据表上创建全文索引,5.6之后InnoDB
开始支持全文索引(5.7之后支持中文全文索引) 。