|
视图的基本概念
视图是从一个或多个表或视图中提取出来的数据的一种表现方式。
或者可以认为视图就是一个查询语句的结果,只不过是以类似表的形式保存在数据库中。
简单的说,视图就是从一个或几个基础表(或视图)中通过查询语句生成的表。
视图与基础表不同,它是一个虚表,也就是说视图实际上并不是象表一样将其中的数据存储在数据库中,而只是在数据库中保存视图的定义。
在查询视图时,数据库通过视图的定义从相关的基础表中获取数据并返回给用户。
视图一旦定义,就可以象使用表一样来对它进行查询、删除等操作。
视图基础
在视图的定义中包含一条子查询语句,视图中的内容即为该查询返回的结果。
与表不同,创建视图并不需要特殊的存储空间,而是将视图的定义信息保存在数据字典表中。
用户在查询视图时,实际上时利用定义视图时所使用的子查询语句从视图所引用的表中获取数据。
视图对查询性能的影响
因为视图是建立在基础表上的查询语句,所以在查询视图时,必然要引用创建视图的基础表。
如果创建的视图关联的基础表过多,会造成不必要的表间关联,而导致查询性能下降。
使用视图的目的
◆提供一些额外的数据安全性保证。
◆隐藏数据的复杂性,尤其是多表关联。
◆简化查询语句。
◆分离应用程序与基础表,尤其是在数据库调优的过程使用。
◆执行某些必须使用到视图的查询,尤其是在分组统计时使用。
◆保存复杂查询。
查询视图的步骤
◆将针对视图的查询语句与视图的定义语句合并成一条查询语句。
◆在内存中解析合并后的查询语句。
◆执行解析后的查询语句。
|