mysql索引与视图

一、数据库中索引的作用

数据库中索引的作用类似于书本当中目录的作用,通过查看索引来快速定位到用户所需要信息的所在位置。所以索引的作用有:

1)快速定位到数据的位置,加快查询的速率。

2)降低数据库的IO成本(input、output)和排序成本。

3)通过创建唯一性索引保证数据包中的数据唯一性。

4)可以更加直观的表现出表与表之间的关系。

二、索引的分类

索引一般分为以下几类:

1)普通索引:是最基本的索引类型,没有唯一性的限制。

2)唯一性索引(主键索引):索引中的所有值都只出现一次且必须唯一。

3)全文索引:mysql从3.23.23版本开始就支持全文索引,全文索引的类型为fulltext。

三、创建索引的场景

索引是用来方便查询某个数据用的,而一些非常简单内容很少的表就没有创建索引的必要。那么什么时候该创建索引或不需要创建索引呢?

需要创建索引的场景:

1)经常需要查询的字段是非常有必要建立索引。

2)表中的记录超过300行就有必要建立索引了。

3)表的主键与外键必须要有索引。

不需要或不建议建立索引的场合:

1)更新很频繁的字段。

2)唯一性差的字段不建议建立索引。

四、索引的创建

1)建立普通索引

#建立一个普通索引
create index index_表中的一个字段 on 表名 (表中的列,字段);

mysql给视图建立索引 mysql 视图索引_mysql给视图建立索引


2)建立唯一索引

#建立唯一索引
create unique index unique_表中的一个字段 on 表名 (表中的列,字段);

mysql给视图建立索引 mysql 视图索引_表名_02


3)建立主键索引

#建立主键索引,更改表结构新表的时候
alter table 表名 add primary key (表中的列,字段);

mysql给视图建立索引 mysql 视图索引_字段_03


4)建立全文索引

#全文索引,适用于字符串,不适用于数值类型的字段
create fulltext index 索引名称 on 表名(字段);

mysql给视图建立索引 mysql 视图索引_全文索引_04

五、视图

视图是一张虚拟的表(不存在的)其将表中的一些数据加一表现。有些人可能不太明白,可以将视图看做是水中的月亮,是原来表的一个映射。其优点是:不占用磁盘的空间方便用户查询表中一些特定的字段;根据用户权限的不同可以看到不同的视图结果;又由于用户可以看到的视图不同也变相的提高的数据库的安全性。

创建视图
create view 视图名称 as select 字段名1,字段名2... from 表名;

mysql给视图建立索引 mysql 视图索引_字段_05


mysql给视图建立索引 mysql 视图索引_全文索引_06