MySQL索引

        MySQL中,所有的数据类型都可以建立索引,包括普通索引,唯一性索引,全文索引,单列索引,多列索引和空间索引等。

索引的含义和特点

BTREE 索引,HASH 索引

优点:提高查询,联合查询,分级和排序的时间

缺点:索引占空间,维护(创建,更新,维护)索引时需要耗费时间

索引的分类

1、普通索引

        不加任何限制条件

2、唯一性索引

        使用 UNIQUE 参数

3、全文索引

        使用 FULLTEXT 参数,只能创建在 CHAR,VARCHAR,TEXT 类型的字段上,只有 MyISAM 存储引擎支持全文索引。

4、单列索引

        在一个字段上建立的普通索引,唯一性索引或全文索引

5、多列索引

        在多个字段上建立的普通索引,唯一性索引或全文索引

6、空间索引

        使用 SPATIAL 参数,只有 MyISAM 存储引擎支持空间索引,必须建立在空间数据类型上,且必须非空, 初学者很少用到。

索引的设计原则

1、选择唯一性索引

2、为经常需要排序、分组和联合操作的字段建立索引

如 ORDER BY、GROUP BY、DISTINCT,UNION 等操作的字段,特别是排序

3、为常作为查询条件的字段建立索引

4、限制索引的数目

避免过多地浪费空间

5、尽量使用数据量少的索引

6、尽量使用前缀来索引

如指索引 TEXT 类型字段的前 N 个字符(

Oracle 中有函数索引,这个是不是相当亍left(field, n)式的函数索引?!

7、删除不再使用或者很少使用的索引

创建索引

创建表时创建索引

创建普通索引

创建唯一性索引

使用 UNIQUE 参数

创建全文索引

       使用 FULLTEXT 参数,只能创建在 CHAR,VARCHAR,TEXT 类型的字段上,只有 MyISAM 存储引擎支持全文索引。


创建单列索引

在一个字段上建立的普通索引,唯一性索引或全文索引


创建多列索引

在多个字段上建立的普通索引,唯一性索引或全文索引

创建空间索引

        使用 SPATIAL 参数,只有 MyISAM 存储引擎支持空间索引,必须建立在空间数据类型上,且必须非空, 初学者很少用到。


在已经存在的表上创建索引


        以上是在已经存在的表上创建普通索引,创建其他类型索引参照“创建表时创建索引”,在index前加适当的参数即可。

用 ALTER TABLE 语句来创建索引

ALTER TABLE 表名 ADD[UNIQUE|FULLTEXT|SPATIAL] INDEX 索引名 (属性名[(长度)] [ASC|DESC]);

删除索引

DROP

DROP INDEX 索引名 ON 表名;

ALTER

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值