Mysql索引基础

Mysql索引基础

  1. 基本概念:

  索引是一种特殊的数据库结构,能够用来快速查询数据库表中的特定记录。索引是提升数据库性能的重要方式。索引建立在表上,是对数据库表中一列或多列的值进行排序的一种结构。能够提升查询速度。MySQL中,全部的数据类型均可以被索引。sql

  1. 索引的优势:

增长查询速度数据库

利用索引的惟一性来控制记录的惟一性性能

下降查询中分组和排序的时间设计

能够加速表与表之间的链接排序

  1. 索引的缺点:

存储索引占用磁盘空间索引

执行数据修改操做(INSERT、UPDATE、DELETE)产生索引维护table

每次修改表结构都须要重建索引效率

  1. 索引的分类

普通索引:这是最基本的索引,它没有任何限制。基础

唯一性索引:与普通索引相似,不一样的就是:索引列的值必须惟一,但容许有空值(注意和主键不一样)数据类型

全文索引:MySQL从3.23.23版开始支持全文索引和全文检索,FULLTEXT索引仅可用于 MyISAM 表;

单列索引、多列索引

  1. 建立索引

–建立普通索引:

   create index 索引名称 on 表名(列)

   alter table 表名 add index 索引名称 (列)

–建立惟一索引:

   create unique index 索引名称 on 表名(列名)

   alter table 表名 add unique index 索引名称 (列)

  1. 删除索引:drop index 索引名 on 表名
  2. 索引设计原则

为了使索引的使用效率更高,在建立索引的时候必须考虑在哪些字段上建立索引和建立什么类型的索引。

a)         选择唯一性索引

b)         为常常须要排序、分组和联合操做的字段创建索引

c)         为常做为查询条件的字段创建索引

d)         限制索引的数目

e)         尽可能使用数据量少的索引

f)          尽可能使用前缀来索引

g)         删除再也不使用或者不多使用的索引

相关文章
相关标签/搜索