mysql表的存储引擎种类

二次信任 提交于 2019-11-29 07:05:46

表 存储引擎种类:

MyISAM结构:

.frm文件:存储表数据定义、表结构

.MYD文件:存储表数据行

.MYI文件:存储表的索引,存储在b+tree里面

MyISAM存储引擎结构:

根据col=49,根据b+tree快速定位到49,获取磁盘指针(values)0X90,从而获取表数据;

InnoDB结构存储引擎:必须需要有主键,为啥?

.ibd文件:索引文件和数据行合并 

MyISAM和InnoDB区别:

MyISAM:索引所在磁盘指针

InnoDB:索引所在行其他字段存储

聚集索引:索引和数据在一起

 

非聚集索引:从一个文件去获取另一个文件,索引和数据没有在一起

问题:

InnoDB结构存储引擎:必须需要有主键,为啥?

如果InnoDB表没有主键,mysql会从表中寻找一个可以唯一标识的主键,

如果找不到,他会生成默认列(隐藏列)。来维护数据。

 

UUID:长串字符串,占有存储空间,比较慢等 

为何使用自增主键?

后面大于前面,一次追加,满足叶子节点

 

联合索引的底层结构:

 

小的放左边,相同的比较下面的参数。

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!