mysql 优化 经验汇总

https://cs.usfca.edu
cs.usfca.edu/~galles/visualization/bst.html

二叉树:小的插入左边,大的插入右边
红黑树:平衡二叉树
B-Tree: 横向存放更多的节点数据(data)

B+tree: 16/(8+6)=1170b,节点从左到右依次递增,非叶子节点不存储数据,只放索引

聚集索引:索引和数据文件放在同一个文件里
非聚集索引:索引和数据文件放在不同的文件里

myi
myd

rowid 隐藏列,mysql引擎自己维护,会占用数据库资源
整型比较大小,字符串逐个字符比较

innodb
myisam

索引是排好序的数据结构
表是排行序的数据文件
O(1)时间复杂度
hash:一维数组+链表,hash冲突问题,不支持范围,支持==, in

联合索引的存储

单字段索引和联合索引
联合索引最左匹配原则

非叶子节点会默认加载到内存,方便提供效率,

1.b树和b+树数据的区别?
b+非叶子节不包含数据,b树所有节点上包含数据
存储树的高度,横向存储数据的长度 16(n)=2000万数据

90% 单表走索引

表关联底层逻辑:NLJ BLJ

db扩容比web应用扩容难得多,所有逻辑从大sql里抽取到c#代码里完成

posted @   大树2  阅读(38)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2021-05-08 redis 集群
点击右上角即可分享
微信分享提示