数据库中临时表与视图区别是什么?

在当前流行的数据库中说法是否一致,谢谢!

临时就是只用一会,用完就删的意思
表和视图……,咋说呢?
你看下面吧!

http://wenku.baidu.com/view/c7aec43383c4bb4cf7ecd105.html

数据表(真实存在的)->视图(基于表的查询,表数据变了,他也会变的)追问

临时表是在什么时间被删除的?

追答

如果程序正常运行或退出的话,表被关闭时,系统自动删除,

追问

谢谢!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-01-03
存在方式:
临时存在于 服务器内存中
视图 无存在形式

生命周期:
临时表 Sql服务关闭就消失
视图 你不删它就不会消失

用途
临时表 经常作为 中间转接层
视图 作为物理表的窗口

效率
临时表因为在缓存中,所以执行效率比较高{不知道大数据量时如何??}
视图 一般吧?如果是嵌套了别的视图效率可是最低了{希望高手再说说}

在存储过程使用时:
临时表,效率很高{可能是数据量少,再加上临时表是在缓存中,所以执行效率高}
视图 好象一般(听说2005中有索引视图,但听说它缺点不少?)
第2个回答  2012-04-16
临时表
  临时表是建立在系统临时文件夹中的表,如果使用得当,完全可以像普通表一样进行各种操作,在VFP退出时自动被释放。
  当工作在十分大的表上运行时,在实际操作中你可能会需要运行很多的相关查询,来获的一个大量数据的小的子集,不是
对整个表运行这些查询。而是让MySQL每次找出所需的少数记录,将记录选择到一个临时表可能更快些,然后对这些表运行查
询。   
创建MySQL临时表很容易,给正常的CREATE TABLE语句加上TEMPORARY关键字   
Sql代码   CREATE TEMPORARY TABLE tmp_table ( name VARCHAR(10) NOT NULL, value INTEGER NOT NULL )
CREATE TEMPORARY TABLE tmp_table ( name VARCHAR(10) NOT NULL, value INTEGER NOT NULL )

临时表的应用
  1)、当某一个SQL语句关联的表在2张及以上,并且和一些小表关联。可以采用将大表进行分拆并且得到比较小的结果集
合存放在临时表中。  
 2)、程序执行过程中可能需要存放一些临时的数据,这些数据在整个程序的会话过程中都需要用的等等。
SQL临时表
  临时表有两种类型:本地表和全局表。在与首次创建或引用表时相同的 SQL Server 实例连接期间,本地临时表只对于
创建者是可见的。当用户与 SQL Server 实例断开连接后,将删除本地临时表。全局临时表在创建后对任何用户和任何
连接都是可见的,当引用该表的所有用户都与 SQL Server 实例断开连接后,将删除全局临时表。
视图的含义
  从用户角度来看,一个视图是从一个特定的角度来查看数据库中的数据。
从数据库系统内部来看,一个视图是由SELECT语句组成的查询定义的虚拟表。
从数据库系统内部来看,视图是由一张或多张表中的数据组成的,
从数据库系统外部来看,视图就如同一张表一样,对表能够进行的一般操作都可以应用于视图,
例如查询,插入,修改,删除操作等。

  
视图是一个虚拟表,其内容由查询定义。
同真实的表一样,视图包含一系列带有名称的列和行数据。
但是,视图并不在数据库中以存储的数据值集形式存在。
行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。
对其中所引用的基础表来说,视图的作用类似于筛选。
定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。
分布式查询也可用于定义使用多个异类源数据的视图。

视图是存储在数据库中的查询的SQL 语句,它主要出于两种原因:
安全原因, 视图可以隐藏一些数据,
如:社会保险基金表,可以用视图只显示姓名,地址,而不显示社会保险号和工资数等,
另一原因是可使复杂的查询易于理解和使用。追问

谢谢,那么在Oracle中如何体现?希望附上SQL语句

追答

如何体现什么?

相似回答