联合索引示意图
最左前缀原理
通过上图我们可以发现,联合索引和单列索引差不多,只不过联合索引存储的关键字包含了多个列。
最左前缀原理:联合索引的排序是有优先级的,越在左边的列,优先级越高,如上图所示:
会优先按照数字排序,在数字相等时,会根据字母进行排序。
……继续阅读 »
tianlan
11个月前 (04-17) 287浏览 0评论
0个赞
MyISAM
主键索引(主索引)
辅助索引(Secondary key)
在MyISAM中,主索引和辅助索引(Secondary key)在结构上没有任何区别,只是主索引要求key是唯一的,而辅助索引的key可以重复
InnoDB
主键索引
MyISAM索引文件和数据文件是分离的,索引文件仅保存数据记录的地址。而在InnoDB中,表数据文件本身就是按B+T……继续阅读 »
tianlan
11个月前 (04-16) 314浏览 0评论
1个赞
B树(B-tree)
注意:B-树和B树是同一个东西。
B树和平衡二叉树稍有不同的是,B树属于多叉树又名平衡多路查找树(查找路径不只两个),数据库索引技术里大量使用者B树和B+树的数据结构,让我们来看看他有什么特点。
B树性质
(1)排序方式:所有节点关键字是按递增次序排列,并遵循左小右大原则;
(2)子节点数:非叶节点的子节点数>1,且<=M ……继续阅读 »
tianlan
11个月前 (04-14) 326浏览 0评论
0个赞
引入
我们提到平衡二叉树是最理想的二叉排序树,性能最好,也最稳定,但是缺点是维护成本高,需要在插入和删除节点时维护新树的平衡性,所以工程实践中,我们倾向于使用另一种二叉排序树 —— 红黑树
定义
红黑树(Red-Black Tree)是每个节点都带有颜色属性的二叉排序(查找)树,具备以下特性:
节点是红色或黑色;
根节点是黑色的;
每个叶子节点都是黑色的空……继续阅读 »
tianlan
11个月前 (04-09) 329浏览 0评论
0个赞
引入
如果二叉排序树用不好,就会退化成斜树,实现算法性能退化成了 O(n)
定义
1.首先是二叉排序树
2.平衡二叉树要求每个节点的左子树和右子树的高度差至多等于 1,这个高度(深度)差的值叫做平衡因子 BF,也就是说 BF 的值不能大于1,否则就不是平衡二叉树。
实现原理
和二叉排序树差不多,只不过每次插入元素后,需要检查树的平衡性,如果平衡性遭到破坏,……继续阅读 »
tianlan
11个月前 (04-09) 287浏览 0评论
0个赞
树
几个概念:根节点、兄弟节点、叶子节点(没有子元素、末端节点)
度:节点的子节点数
二叉树
①普通二叉树
②满二叉树
③完全二叉树(和满二叉树相比,只少了点最后一层的右侧叶子节点)
二叉树的基本性质
性质1:
在第 i 层最多有 2i-1 个节点。
性质2:
深度为 k 的二叉树最多有 2k-1 个节点。
性质3:
对于任何一个二叉树,叶……继续阅读 »
tianlan
11个月前 (04-09) 313浏览 0评论
0个赞