十二、mysql中索引的简单介绍及各种索引的创建和删除

1、几乎所有的索引都是建立在字段之上,索引指的是系统根据某种算法,将已有的数据(未来可能新增的数据),单独建立一个文件,文件能够实现快速匹配的数据,并且能够快速的找到对应表中的记录。
2、索引的意义:提高查询数据的效率,约束数据的有效性(唯一性等)
3、增加索引的前提条件

  1. 索引本身会产生索引文件(该文件有时可能比数据文件本身还要大),会非常耗费磁盘空间。
  2. 如果某个字段需要作为查询的条件经常使用,那么可以使用索引;
  3. 如果某个字段需要进行数据的有效性约束,也可能使用索引(主键,唯一键)。

4、mysql中索引的分类

  1. 主键索引:primary key
  2. 唯一索引:unique key
  3. 全文索引:fulltext index
  4. 普通索引:index

全文索引的特点:针对文章内部的关键字进行索引;全文索引最大的问题是如何确立关键字;英文较容易,因为英文单词之间有空格,而汉字则较难,因为中文之间没有空格,且可以任意组合。
5、mysql中普通索引的创建

--方案一:直接创建索引
   create index 索引名 on 表名(字段1,...,字段n);
--方案二:修改表结构的方式添加索引
   alter table 表名 add index 索引名(字段1,...,字段n);
--方案三:创建表的时候创建索引
   create table 表名(
       字段1 字段类型 字段属性,
       ...,
       字段n 字段类型 字段属性,
       index 索引名(字段1,...,字段n)primary key(字段1,...,字段n) -- 系统会自动为这些字段创建索引,如果字段为多个,就会创建联合索引
   );   

6、mysql中索引的删除
基本语法:drop index 索引名 on 表名;
7、唯一索引的建立
定义:与普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值(注意和主键不同)。如果是组合索引,则列值的组合必须唯一,创建方法和普通索引类似。

--方案一:用create关键字创建
  create unique index 索引名 on 表名(字段1,...,字段n);
--方案二:修改表结构
  alter table 表名 add unique index 索引名(字段1,...,字段n);
--方案三:创建表的时候直接指定
  create table 表名(
      字段1 字段类型 [字段属性],
      ...
      字段n 字段类型 [字段属性],
      unique key(字段1,...,字段n)   --这里写的是想要建立索引的字段
  );

8、mysql中全文索引的建立
MySQL从3.23.23版开始支持全文索引和全文检索,FULLTEXT索引仅可用于 myisam表;他们可以从char、varchar或text列中作为create table语句的一部分被创建,或是随后使用alter table 或create index被添加。对于较大的数据集,将你的资料输入一个没有fulltext索引的表中,然后创建索引,其速度比把资料输入现有fulltext索引的速度更为快。不过切记对于大容量的数据表,生成全文索引是一个非常消耗时间非常消耗硬盘空间的做法。

--方案一:直接建立索引
  create fulltext index 索引名 on 表名(内容);
--方案二:修改表结构添加全文索引
  alter table 表名 add fulltext index 索引名(内容);
--方案三:创建表时直接添加全文索引
  create table 表名(
      字段1 字段类型 [字段属性],
      ...,
      字段n 字段类型 [字段属性],
      fulltext(字段1,...,字段n)
  ); 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值