• 技术文章 >数据库 >MySQL

    mysql中BTree索引的理解

    小妮浅浅小妮浅浅2021-06-22 09:27:47原创446

    概念

    1、BTree又叫多路平衡查找树。所有结点存储一个关键字。

    非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树(简单说, 左边比自己小,右边比自己大)

    特点

    2、以B+树结构存储数据,大大加快了数据的查询速度

    在范围查找的SQL语句中更加适合(顺序存储)

    使用场景

    全值匹配的查询SQL,如 where act_id= '1111_act'

    联合索引汇中匹配到最左前缀查询,如联合索引 KEY idx_actid_name(act_id,act_name) USING BTREE,只要条件中使用到了联合索引的第一列,就会用到该索引,但如果查询使用到的是联合索引的第二列act_name,该SQL则便无法使用到该联合索引(注:覆盖索引除外)

    匹配模糊查询的前匹配,如where act_name like '11_act%'

    匹配范围值的SQL查询,如where act_date > '9865123547215'(not in和<>无法使用索引)

    覆盖索引的SQL查询,就是说select出来的字段都建立了索引

    以上就是mysql中BTree索引的理解,希望对大家有所帮助。更多mysql学习指路:MySQL

    推荐操作系统:windows7系统、mysql5.8、DELL G3电脑

    专题推荐:mysql btree索引
    品易云
    上一篇:mysql中索引是什么 下一篇:mysql中B+Tree和B-Tree的区别

    相关文章推荐

    • mysql学习(三)运算符• mysql学习(二)数据类型• mysql学习(一)MySQL存储引擎• MySQL数据库基本操作• mysql数据库总结• php对mysql数据库的基本操作• php面向对象封装Mysql查询语句• MySQL的REGEXP和LIKE区别详解• mysql中insert into语句的多种用法• MySQL中如何使用replace into语句处理出错?• mysql中UNION操作符是什么?• mysql中UNION和UNION ALL的区别有哪些?• mysql中Union All使用方法• mysql中空值与null区别详解• mysql中什么是元数据?• mysql执行sql脚本的两种方法• JavaSE、MySQL基础、JDBC• Django配置mysql数据库的简单方式• MySQL自动增删分区—python实现方案• MySQL数据库自动补全命令• python连接mysql数据库步骤• mysql如何创建表• Django连接mysql数据库步骤非常详细• Python连接Mysql数据库

    全部评论我要评论

  • 取消发布评论
  • 

    Python学习网