十九、MySQL基础系列笔记之索引的设计与使用

作者: 温新

分类: 【MySql】

阅读: 1808

时间: 2020-10-27 14:09:07

MySQL索引概述

根据存储引擎的不同 ,每个表最大索引数和最大索引长度,每种存储引擎对每个表至少支持16个索引,总索引长度至少为256字节。

MyISAM和InnoDB存储引擎的表默认创建的都是BTREE索引。

什么是索引

索引是一种数据结构。用于快速检索数据。

索引是依靠某些俗话据结构和算法来组织数据,最终引导用户快速检索出所需要的数据。

上述所写的两种关于什么是索引都说明了什么是索引,选择其中的一个就可以。总这记住一点,索引是一种数据结构。

索引的特点

  • 通过数据结构和算法来对原始的数据进行一些有效的组织
  • 通过这些有效的组织,可以引导使用者对原始数据进行快速检索

索引的特点一句来概括,就是通过数据结构和算法来组织数据用于快速检索出所需要的数据。

索引设计原则

  • 在条件列上创建索引。最适合索引的列表是出现在where子中的列,或连接子句中指定的列;
  • 尽量使用唯一索引。考虑某列中值的分布。索引的列的基数越大,索引的效果越好。如男和女的列,则对此列创建索引没有多大意义;
  • 数据量小的表避免使用索引;
  • 使用短索引。若对字符串列进行索引,则应指定一个前缀长度;
  • 使用最左前缀。

索引设计误区

  • 不是所有的表都需要创建索引,索引并非越多越好。若一个表中有大量索引,不仅占用磁盘空间,而且影响insert、delete、update等语句的性能。
  • 不要过渡索引;
  • 谨慎创建低选择度索引。

2020-10-27

请登录后再评论