美文网首页
数据库索引

数据库索引

作者: 莫问前程F6 | 来源:发表于2021-08-29 09:51 被阅读0次

    索引是为了提高数据得查询速度,相当于给数据进行编号,在查询数据得时候就可以通过编号快速找到对应的数据。索引是直接添加到字段上的。

    • 索引包括:普通索引、唯一性索引、全文索引、单列索引、多列索引、空间索引
    • 创建维护索引需要消耗时间,索引也需要占用物理空间
    • 主键字段索引,可以给其它字段添加索引

    索引设计原则

    1.出现在where语句中的列,而不是select后面的列
    2.索引值尽量唯一,效率更高
    3.不要添加过多索引,维护成本更高

    添加索引(两种方法)

    alter table test add index in_id(id);
    create index in_id on test(id);
    

    删除索引(两种方法)

    alter table test drop index in_id;
    drop index in_id on test;
    

    B+Tree

    乱序插入数据,会自动按照id进行升序排列,这是因为主键自带索引
    数据存储的内部结构类似于链表的形式,通过指针关联不同的数据

    这种结构当数据量很大的时候,查询还是很慢,mysql如何解决?

    分级查询

    1.多条数据放入一个目录page,查找时先找到page

    1. 如果page也很多的时候,上层再加一个父page目录,查找时一层一层查找

    这种查找数据得方式,就是B + Tree,数据一般两层就可以,最多不超过3层

    相关文章

      网友评论

          本文标题:数据库索引

          本文链接:https://www.haomeiwen.com/subject/mlswiltx.html