美文网首页
创建高性能的索引

创建高性能的索引

作者: alpha18 | 来源:发表于2019-03-07 19:06 被阅读0次

索引

存储引擎用于快速找到记录的一种数据结构(索引的基本功能)
在MySQL中,存储引擎先在索引中找对对应值,根据匹配的索引记录找到对应的数据行。

索引类型

  • B-Tree索引
    1.全值匹配
    2.匹配最左前缀
    3.匹配列前缀
    4.匹配范围值
    5.精确匹配某一列并范围匹配另一列
  • 哈希索引
    1.哈希索引只包含哈希值和行指针,不存储字段值;
    2.不是按索引值顺序存储,无法用于排序;
    3.不支持部分索引
    4.只支持等值比较查询
  • 空间数据索引
  • 全文索引

索引的优点

  • 大大减少服务器需要扫描的数量
  • 帮助服务器避免排序和临时表
  • 将随机I/O变为顺序I/O

高性能的索引策略

  • 独立的列 索引列不能是表达式的一部分
  • 前缀索引 选择足够长的列保证较高的选择性(不重复的索引值和数据表的记录总数的比值),同时又不能太长
  • 多列索引 在多个列上建立独立的单列索引大部分情况下并不能提高MySQL的查询性能
  • 选择合适的索引列顺序 (经验法则:将选择性最高的列放在索引最前列)
    WHERE子句的排序、分组和范围条件等其他因素,可能对查询的性能造成非常大的影响。
  • 聚簇索引 一种数据存储方式,数据行存放在索引的叶子页中。
  • 覆盖索引 一个索引包含(覆盖)所有需要查询字段的值
  • 使用索引扫描来做排序
    索引的列顺序和ORDER BY子句的顺序完全一致,并且所有列的排序都一样时,MySQL才能够使用索引对结果做排序。
    当前导列为常量时(WHERE子句和JOIN子句对这些列指定常量)ORDER BY子句可以不满足索引的最左前缀的要求
  • 压缩(前缀)压缩索引
  • 冗余和重复索引
  • 未使用的索引
  • 索引和锁

相关文章

  • face17 mysql创建高性能索引

    mysql创建高性能索引 简单描述 mysql中 索引 主键 唯一索引 联合索引的区别对数据库性能有什么影响 创建...

  • 创建高性能索引

    索引基础 索引的类型 B-Tree索引 当人们谈论索引时,如果没有特别指明类型,那多半说的是B-Tree索引。存储...

  • 创建高性能索引

    Indexing Basics 索引类型 B-TREE 索引 InnoDB使用的即是B-TREE索引。存储引擎以不...

  • 创建高性能的索引

    索引 存储引擎用于快速找到记录的一种数据结构(索引的基本功能)在MySQL中,存储引擎先在索引中找对对应值,根据匹...

  • 【高性能MySQL】创建高性能的索引

    索引基础 索引是存储引擎用于快速找到记录的一种数据结构。索引能轻易将查询性能提高几个数量级。索引可以包含一个或多个...

  • MySQL创建高性能索引

    索引对性能的影响:比如,数据表有一千条数据,只需要根据条件查询其中的一条,只需要针对这一列创建索引, 只扫描这一条...

  • 三、创建高性能索引

    目录[toc] 概述 索引是存储引擎用于快速找到记录的一种数据结构。索引对于良好的性能非常关键。尤其是当表中的数据...

  • 5.1索引基础《创建高性能的索引》

    索引:也叫KEY,储存引擎中快速找到记录的数据结构 数据量越大,越重要,查询性能优化最有效手段。 用法:在索引中找...

  • 创建高性能的索引笔记

    B树索引是按顺序组织的,因此适合查找范围数据B树索引适合全键值,键值范围和键前缀查找。 全文索引 索引的优点索引可...

  • 三、创建高性能的索引

    马上就要到国庆节了,好是期待呀。最近一直忙成狗,急需一个长假调整一下自己的心境和状态 今天我们要说的是索引相关的知...

网友评论

      本文标题:创建高性能的索引

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