二叉树 - 链表结构 - 相当于全表扫描

大于自己的值,放在右边,比自己小的放在左边

红黑树 - 二叉平衡树 - 数据量大时,树的高度不可控

B-Tree树

​ 非叶子节点也会存储数据 没有维护双向指针

​ 树的高度 由非叶子节点 的叶叉树来决定的

​ 16^n^ = 2Kw

B+Tree - 多叉平衡树 B-Tree树的变种 树的高度可控

​ 非叶子节点,作为一个冗余,不存储数据

​ 1170 * 1170 * 16 = 2Kw

叶节点大小 16KB - 16384字节

Hash - hash运算 hashmap 桶 - 一次 I/O

​ hash冲突

​ 仅支持 = 等值,不支持范围查询

主键 必须有,否则MySQL会自行选择一列作为 聚簇索引,如果没有,MySQL 会做个 隐藏的 聚簇索引

且为整型

数值存储空间要小

数值比较效率要比字符串比较高

数值自增排序,避免页分裂

ASCII值

二级索引 - 非聚簇索引

回表&跳表

联合索引(复合索引)

​ 最左前缀原则

​ 排好序

​ 跳过最左字段,属于是无序的结构

MVCC 多版本 并发控制

processon.com/mindmap/5dbeda6ee4b0ece75948831d

buffer pool 缓存机制

​ LRU算法

​ 脏页

image-20221004191753050

分布式消息中间件 RabbitMQ 、 RocketMQ 、 Kafka

分布式存储中间件 Redis 、 MongoDB 、 FastDFS、 ElasticSearch、 ELK

分布式架构(微服务框架) Zookeeper 、 Dubbo 、ShardingSphere 、 Netty

cs.usfca.edu

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