mysql 数据库 引擎:InnoDB 与 MyISAM
比较 | InnoDB | MyISAM(default) |
---|---|---|
缓存 | 有meta-data,如行数等 | |
事务 | 支持 | 不支持 |
外键 | 支持 | 不支持 |
表锁粒度 | 表级行级锁定都有 | 大(表级锁定,不适用高并发读取) |
压缩性 | 不够好 | 更好 |
读速度 | 适合读密集的表 | |
写速度 | 适合写密集的表 | |
B+叶节点data域 | 表数据文件本身就是索引数据 | 数据记录地址 |
图解 |
InnoDB的表数据文件本身就是索引数据:即按B+Tree组织的一个索引结构其树的叶子节点data域保存了完整的数据记录,索引的key就是数据表的主键。主索引为聚簇索引,而其余索引都作为辅助索引(非聚簇索引,其data域为主键值),所以在查找非主键值时,则先查找到其对应主键(在辅助索引中),再在聚簇索引中通过主键查找记录。所以主键设计时不要太长,不要非单调,避免主键索引频繁分裂。
上述图片内容为引用 http://www.cnblogs.com/ijia/p/3826990.html 该篇文章!感谢原作者!