mysql中表的存储引擎有哪些类型

mysql中表的存储引擎有哪些类型

mysql中表的存储引擎有哪些类型,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

表 存储引擎种类:

mysql中表的存储引擎有哪些类型

MyISAM结构:

mysql中表的存储引擎有哪些类型

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

.MYD文件:存储表数据行

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

MyISAM存储引擎结构:

mysql中表的存储引擎有哪些类型

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

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

mysql中表的存储引擎有哪些类型

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

mysql中表的存储引擎有哪些类型

MyISAM和InnoDB区别:

MyISAM:索引所在磁盘指针

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

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

mysql中表的存储引擎有哪些类型

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

mysql中表的存储引擎有哪些类型

问题:

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

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

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

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

为何使用自增主键?

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

联合索引的底层结构:

mysql中表的存储引擎有哪些类型

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

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对亿速云的支持。