目录
MYISAM存储引擎
介绍
mysql5.5版本之前的默认存储引擎
- 查询效率极高(支持b+树索引和全文索引) + 表占用空间小(数据压缩) + 免费开源
- 表级锁,读写并发较差,适用于只读/主要是读
适合 早期开发阶段,数据量不大的时候,查询快且管理简单
- 但不适合大规模数据的事务处理,因为不支持事务,一旦宕机可能会丢失部分数据
在 mysql5.5之后,InnoDB 成为默认存储引擎
- 因为它支持事务、行锁,并发性能更强,更适合大规模数据管理
特性(和innodb对比)
innodb是在myisam的基础上实现的,继承了它的一些优点,也补足了一些缺点
这里myisam相对innodb来说:
- 不支持外键/事务/MVCC/哈希索引
- 最大存储限制 -- 256tb
优势
MyISAM表的最大行数为(2^32)^2 及 (1.844E+19)行
每个MyISAM表最多可以创建64个索引,每个索引最多可以包含16个列
- 一般一张表中索引设置3-5个就够了
- 因为索引 本身占据空间 + 写入数据会更新索引结构
支持并发插入
通过create table创建表时,指定DATA DIRECTORY选项和INDEX DIRECTORY选项将数据文件和索引I文件放在不同设备的不同目录中,从而提高访问速度
- 数据文件和索引文件分开存放,可以让不同用户分别访问两个文件,互相不影响,减少磁盘 I/O 竞争,从而提高访问效率
BLOB和TEXT数据类型的列也可以被索引