一、索引
数据库索引是一种为了加速数据表中行记录检索的数据结构,存储于磁盘中,分散存储。
索引方式有:树、hash
全表查效率o(N),范围查使用索引,作用在字段之上
hash索引是k-v的结构,执行效率o(1),等值查快,不支持范围查。
二叉树:递归的二分查找,olog(N),自增时单边增长太长,执行效率o(N) AVL树(旋转平衡二叉树)是子节点高度差绝对值不能大于1:1. 层高,预读时根据空间局部性原理会频繁往内存写入;2. io利用率低,SSD的io操作以操作系统页为单位,一页读4K的数据,保证数据对齐。 B树(多路平衡)也叫二三树:扫描整表,叶子节点在同一水平线。关键字个数=子节点岔路(Degree)-1。磁盘块定4k大小、字节占4byte那第一层有4*1024/(4+4)=512个关键字、第二层512的平方、第三层512的立方,数据区有地址和数据。为了性能代价的保证是绝对平衡的,会带来节点的合并和分裂,以自增作为主键,平衡代价小&# |