数据库的索引和视图的理解!!!
一、索引
索引与书的目录非常的相似,由数据表中的一列和多列组合组成(单列索引和组合索引),创建索引的目的是为了优化数据库的查询速度,提高性能的最常用的工具。其中,用户创建索引指向数据库中具体数据所在位置。当用户通过查询数据库中的数据时,就不需要遍历所有数据库中的所有数据,这样提高查询效率。但是创建索引和维护索引需要消耗时间,这种时间会随着数据量的增大而增大,并且索引需要占物理空间。
什么是聚簇索引?
很简单记住一句话:找到了索引就找到了需要的数据,那么这个索引就是聚簇索引,所以一般主键就是聚簇索引,修改聚簇索引其实就是修改主键。它逻辑顺序和物理顺序保持一致,
什么是非聚簇索引?
索引的存储和数据的存储是分离的,也就是说找到了索引但没找到数据,需要根据索引上的值(主键)再次回表查询,非聚簇索引也叫做辅助索引。
唯一索引 与 主键
唯一索引是在表上一个或者多个字段组合建立的索引,这个(或这几个)字段的值组合起来在表中不可以重复。一张表可以建立任意多个唯一索引,但一般只建立一个。
主键是一种特殊的唯一索引,区别在于,唯一索引列允许null值,而主键列不允许为null值。一张表最多建立一个主键,也可以不建立主键。
二、视图
视图作为常用的数据库对象,视图为数据查询提供了一条捷径;视图是一个虚拟表,其内容由查询定义,即视图中数据并不像表和索引那样需要占用存储空间,视图中保存的仅仅的仅仅是一条select语句,也就是说,只有当调用视图的时候,才会执行视图中的SQL语句,进行取数据操作。所有视图的内容没有被存储,而是在视图被引用的时候才会派生出数据。这样不会占用空间,由于是即时即用,视图的内容和原始真实表的内容一致的,所有存在当基础表发生变化时,视图的数据也会随之变化。视图可以隐藏数据,达到增加数据的安全性,可以对数据库设置不同的视图,不同的视图由不同的用途,提高数据的独立性和逻辑性。当然,视图也能简化查询来提高查询速率
三、索引和视图的区别
索引和视图都是作用与数据库,都能够达到提高查询数据的速率的作用
最大的区别,索引需要占用物理内存
如该文章能对你有所帮助,请帮忙点个推荐和关注!谢谢!0.0