mysql数据库视图与索引

一、视图

定义:基于查询结果而生成的虚表。对表的增删改查操作,对于视图同样成立,只不过写表名的地方写成了视图名字。

1. 创建视图

格式:

create view 视图名字 as select 查询语句;

2. 修改视图

格式:

alter view 视图名字 as select 查询语句;

3. 向视图插入数据

格式:

insert into 视图名字 values (值1,值2,...);

注意:对视图进行增删改操作,原表也会受到影响

4. 更新视图的数据

格式:

update 视图名字 set 列名=值 where 条件;

5. 删除视图数据

格式:

delete from 视图名字 where 条件;

6. 删除整个视图

格式:

drop view 视图名字;

7. 视图的使用场景

1)工作中要获取的数据来源于多张表,接住视图把数据整合
2)某些用户对原表没有操作权限,只有查看权限,借助于查看生成一个视图,然后对视图进行增删改操作

二、索引

1. 索引

针对某个列来创建,创建索引的列能帮助我们更快获取信息,等同于书本的目录,加快查询的速度

2. 索引的优点

1)加快检索速度
2)保证数据唯一性
3)实现表与表之间参照完整性
4)在使用group by和order by语句时,会减少分组和排序时间

扫描二维码关注公众号,回复: 11419336 查看本文章

3. 索引的缺点

1)创建索引会消耗数据空间和花费一定时间
2)查询速度变快了,但是增删改的速度会变慢
3)避免对经常更新的表建立过多索引,保持索引较窄
4)对小表建立索引可能不会产生优化效果
5)建立多个索引可以提升更新少,数据量大的查询性能

4. 优先考虑建立索引的列

1)有主键或者外键的列
2)快速频繁查找的列
3)连接中使用的列
4)在分组或者排序中频繁使用的列

5. 索引类型

1)普通索引:

create index 索引名字 on 表名(列名);

2)唯一索引

create unique index 索引名字 on 表名(列名);

3)删除索引

drop index 索引名字 on 表名;

mysql数据库结束!

猜你喜欢

转载自blog.csdn.net/yang_yang_heng/article/details/107516216