SQL的索引+视图

索引可以提升查询速度,会影响where条件查询(where xxx=''),order by(order by

yyy)排序

索引是针对字段的,需要添加到字段上

索引在大量数据场景下效果明显

从索引的存储结构划分:B Tree索引、Hash索引、fulltext全文索引、R Tree索引(了解)

从应用层次划分:主键索引、唯一索引、普通索引、复合索引

从索引的键值(字段)类型划分:主键索引、辅助索引(二级索引)

从索引数据和内容数据逻辑关系划分:聚集索引(聚簇索引)、非聚集索引(非聚簇索

引)

主键索引 (PRIMARY KEY)

一个表可以没有主键,但最多只能有一个主键,并且主键值不能包含NULL。

添加主键的时候会自动创建主键索引,主键索引是一种唯一性索引

根据主键进行where条件查询,效率高

示例:

使用create语句创建: 在已有的表上创建索引

create unique index 索引名 on 表名(列名(长度))

create unique index index_dname on test_index(dname);

修改表结构添加索引

ALTER TABLE 表名 ADD UNIQUE 索引名( 列名 )

普通索引 (NORMAL INDEX)

普通索引的唯一任务是加快对数据的访问速度。因此,应该只为那些最经常出现在查询条件

(WHERE column=)或排序条件(ORDER BY column)中的数据列创建索引。

普通索引对数据没有唯一、非空的强制要求,一个表可以拥有多个索引;

1) 语法格式使用create index 语句创建: 在已有的表上创建索引


修改表结构添加索引


2.2.4 删除索引

由于索引会占用一定的磁盘空间,因此,为了避免影响数据库的性能,应该及时删除不再

使用的索引

1) 语法格式


2) 删除  test_index 表中名为  dname_indx 的普通索引。


2.3 索引的优缺点总结

索引的优点

1. 大大的提高查询速度

2. 可以显著的减少查询和排序的时间。

索引的缺点

当对表中的数据进行增加,修改,删除的时候,索引要同时进行维护,数据量越大维护时

间越长

主键和索引的区别:
关键区别总结:

唯一性:主键必须唯一,索引可以重复

数量限制:每表只能有一个主键,但可以有多个索引

NULL值:主键不允许NULL,索引允许NULL

用途:主键用于标识记录,索引用于优化查询

自动索引:创建主键时自动创建聚集索引,普通索引需要单独创建

使用建议:

主键应选择较小的数据类型,避免使用长字符串

索引不宜过多,会影响写入性能

经常用于查询条件的列适合创建索引

主键最好使用自增列,避免频繁的页分裂

第3节 MySQL 视图

3.1 什么是视图

1. 视图是一种虚拟表。

2. 视图建立在已有表的基础上, 视图赖以建立的这些表称为基表。

3. 向视图提供数据内容的语句为 SELECT 语句, 可以将视图理解为存储起来的 SELECT 语句.

4. 视图向用户提供基表数据的另一种表现形式

3.2 视图的作用

权限控制时可以使用

比如,某几个列可以运行用户查询,其他列不允许,可以开通视图 查询特定的列, 起到权限

控制的作用

简化复杂的多表查询

1) 语法格式


3.4 视图与表的区别

视图是建立在表的基础上,表存储数据库中的数据,而视图只是做一个数据的展示

通过视图不能改变表中数据(一般情况下视图中的数据都是表中的列 经过计算得到的结果,

不允许更新)

删除视图,表不受影响,而删除表,视图不再起作用

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容