• MySQL-索引



    一、索引的数据结构

    B-Tree索引

    B+Tree索引,InnoDB使用

    关于Tree的解释可以查看这里:

        MySQL索引原理
         mysql innodb: b+树 的优点

    二、使用索引

    哪些查询可以使用B-Tree索引?

    • 全值匹配
    • 匹配最左原则,只是用索引的第一列
    • 匹配列前缀,只是用索引的第一列
    • 匹配范围值,只是用索引的第一列
    • 精确匹配某一列并范围匹配另一列,第一列全值匹配,第二列范围匹配
    • 只访问索引的查询

    B-Tree索引限制

    • 不是按照最左列开始查询
    • 不能跳过索引中的列
    • 如果查询中某列使用了范围查询,则其右边的列都无法使用索引


    三、其他索引

    哈希索引,Memory引擎使用,只有精确匹配索引的所有列才有效。

    空间数据索引R-Tree,MyISAM支持使用。

    全文索引,类似于搜索引擎。

    四、索引策略

      • 独立的列
      • 前缀索引
      • 多列索引/索引合并
      • 合适的索引列顺序
      • 聚簇索引,数据行存放在索引的叶子页,节点页只包含索引列
      • 覆盖索引,索引包含所有需要查询的字段的值,无需回表
      • 用索引扫描排序
      • 压缩(前缀压缩)索引,MyISAM使用前缀压缩来减少索引大小,可以提高性能
      • 冗余和重复索引,影响性能,考虑删除
      • 未使用的索引,考虑删除
      • 索引和锁,InnoDB只有访问行时才回加锁,而索引能够减少InnoDB访问的行数,从而减少锁的数量。
  • 相关阅读:
    仿微博的JQuery日历控件
    JavaScript演示下Singleton设计模式
    简短的创建Ajax对象代码
    C++常用速查
    学习网站
    Ubuntu纯命令行安装并配置Teamviewer
    在Jupyter中使用自定义conda环境
    TensorFLow: Gradient Clipping
    Python partial 工具函数
    lambda X, y: X
  • 原文地址:https://www.cnblogs.com/bigshark/p/7912425.html
Copyright © 2020-2023  润新知