索引(index)
索引是一种对数据表中一列或者多列值进行排序的一种存储结构。索引相当于书本的目录,可以让我们快速的查找到我们所需要查找的内容。
什么时候需要给字段添加索引?
1. 数据表中该字段的数据量很多
2. 该字段经常作为条件被检索
3. 经常被增删改(DML)操作的字段不建议加上索引
索引有三类:
主键索引: 列值唯一(不可以有null)+ 表中只有一个
单一索引:一个索引只包含了一列,列表示被索引的字段的那个一列
唯一索引:索引列的值必须唯一,但是可以为空
复合索引:一个索引包含多列
优缺点
优点
1、很大程度上提高了数据的检索效率
2、加快了表与表之间的连接
3、在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间
缺点
1、索引需要占用物理空间
2、当对表中的数据进行增删改(DML)操作的时候,索引也需要动态的维护,降低了数据的维护速度。
视图(view)
视图是指基于SQL语句查询出来的数据组成的虚拟表,但是这个虚拟表可以进行增删改操作,并且通过对视图的操作,会影响到原表数据。
视图的特点: 可以将复杂的SQL语句以视图对象的形式新建。在需要编写这条SQL语句的位置直接使用视图对象,可以大大简化开发。