查询的复杂度

查询的复杂度: 查询的次数,测试复杂度,采用的是悲观态度,复杂度用O(x)表示

常规的查询,顺序查询:安装顺序,查询到结果结束,O()

排序的目的是为了高效的查询

对于mysql任意一张表,常规使用的查询方法也是顺序查

树结构

节点

内部结点

叶子节点

A 根节点

内部结点 A B C

叶子结点 D E F G

MYSQL 为了优化查询 提出了索引概念

当用户创建索引的时候,mysql首先复制数据,完成一个新的Btree(平衡树)结构,mysql索引默认用的是b+tree 结构

平衡树:左树和右树的高度相差不能高过一。

1、有一个根节点,根节点为空或有一个记录和两个子节点。

2、每个节点当做key和指针相互分割,指针指向子节点

3、d表示数的宽度,除叶子节点之外,其他每个节点有【d/2。d-1】条数据,而且key从左到右小到大排列

4、在一个节点当做,第n个子树所有key,小于这个节点当做第n个key,大于这个节点的当做第n-1个key

5、所有的叶子结点必须在同一层次

索引其实是一种数据结构,可以加快我们的查询效率,但是创建索引会复制数据,会占 用资源

索引的使用区间 :

当我们使用索引后,查询指定数据返回的数据是总数据的3%~5%,我们是认为合适的,少量数据不适合用索引

猜你喜欢

转载自blog.csdn.net/weixin_44303465/article/details/88651735