• MySQL 索引知识总结


    将 mysql 的索引以书本的索引类比比较贴切,要找到一个关键字为xxx 的条目,首先翻到索引中查找有哪些页码涉及到,无疑就缩小了范围。在这个小范围内再寻找符合条件的数据,效率就会提高许多。

    mysql 中一个索引可以指定一行或者多行,如果指定超过一行的数据进行索引,行的顺序就非常关键了。因为 mysql 只能对最左边的行进行有效的索引。

    这里附上一条 阿里巴巴的索引规约

     既然要建立索引,就会涉及到索引的类型。我们一般在讨论索引时,如果没有明确指定,就是说的 B-tree 类型索引。

    在使用 create table 语句或者其他语句时,默认就会使用 b-tree 索引。

    B-TREE 索引的思想就是所有的值在存储时,都是有序存储的,而且每个叶子节点离 root 节点都是同样的距离。每个叶子节点都存储了一个其子节点的指针以及它所代表的范围值。

    当查找时,就会按照范围值依次的从根节点向下查找。 B-TREE 索引的深度则取决于表中数据的大小。

    多列索引的限制是比较多的,既然建立了多列索引,尽可能按照从左至右的顺序进行索引,并且最左边的列是最重要的,一定不能忽略。

    即使对于单列索引来说,也要遵循 left most 原则, like 'xxx%' 可以使用索引生效,而 like ‘%xxx’ 则不会生效。

    另一条阿里巴巴索引规约

     BTree 索引的类型

    • 普通索引
    • 唯一索引
    • 主键索引
  • 相关阅读:
    自定义转化
    asp.net JSON(一)
    做一个会偷懒的码农
    活动和监视器
    linq 分组求和
    sql语句查询列的说明
    chartControl
    LayOutControl
    sql 给表结构增加说明
    我的单件模式
  • 原文地址:https://www.cnblogs.com/reycg-blog/p/7918581.html
Copyright © 2020-2023  润新知