数据库,索引,存储原理等细节笔记

索引数据类型

二叉树

红黑树

Hash表

B-tree (B+tree)

 btree

 

 

---> 与B+tree的区别: 

因为没有末尾节点的指针(双向指针) 每次都需要从跟节点再次进行定位

(B+tree): mysql

索引两种 btree  和hash(特殊)

hash在范围查询面前 不行 只能是等于单个值

b+tree  查找范围的原因 叶子节点依次递增, 节点末尾有个指针 会指到  后面节点

同时 指针是双向的 末尾节点会连接最开始的节点  无论是大于还是小于 都支持

------------------------------------

 细节等待完善


数据库表常用的两种引擎

MyISAM存储引擎

Innodb

这些数据存储在数据库的data目录下

 myisam 会有三种后缀  

而innodb 会有两种  索引和数据在一起

 

myisam是非聚集索引(稀疏索引)

-> B+tree  叶子部分存的是一个地址

 

innodb是聚集索引 (聚簇索引)

-> 叶子部分直接存储数据

问:  innodb表 为什么必须有主键  并且推荐整型的自增主键 (dba会规范)

不要使用uuid作为主键自增

没有主键可以建, 但是 b+tree主键索引去组织整体表结构

注意: 没有主键mysql表会自动添加一个字段作为索引(都不重复的字段) 维护整体表结构(不要加重mysql工作)


dba建议多用联合索引

那么联合索引的底层存储结构长啥样...

等待下篇

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pingzhuyan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值