数据库-数据存储引擎

数据存储引擎

 

MyISAM存储引擎

默认MyISAM的表会在磁盘中产生3个文件 .frm表结构文件

.MYD数据文件

.MYI索引文件

 

 

可以在创建的时候指定数据文件和索引文件的存储位置,只有MyISAM表支持

DATA DIRECORY [=] 数据保存的绝对路径

INDEX DIRECTORY [=] 索引文件保存的绝对路径

MyISAM单表最大支持的数据量2的64次方条记录

每个表最多可以建立64个索引

如果是复合索引,每个复合索引最多包含16个列,索引值最大长度是1000B

MyISAM引擎的存储格式

定长(FIXED 静态)

是指字段中不包含VARCHAR/TEXT/BLOB

动态(DYNAMIC)

只要字段中包含了VARCHAR/TEXT/BLOB

压缩(COMPRESSED)

myisampack创建

InnoDB存储引擎

设计遵循ACID模型,支持事务,具有从服务崩溃中恢复的能力,能够最大限度保护用户的数据

支持行级锁,可以提升多用户并发时的读写性能

支持外键,保证数据的一致性和完整性

InnoDB拥有自己独立的缓冲池,常用的数据和索引都在缓存中

对于INSERT、UPDATE、DELETE操作,InnoDB会使用一种change buffering的机制来自动优化,还可以提供一致性的读,并且还能够缓存变更的数据,减少磁盘I/O,提高性能

创建InnoDB表之后会产生两个文件

.frm表结构文件

.ibd,数据和索引存储表空间中

所有的表都需要创建主键,最好是配合上AUTO_INCREMENT,也可以放到经常查询的列作为主键

posted @ 2017-08-10 18:48  孙中明  阅读(98)  评论(0编辑  收藏  举报