sql中View和table之间的区别

时间:2011-05-16 09:07:51

标签: sql view

  

可能重复:
  Difference Between Views and Tables in Performance

SQL中视图和表之间的主要区别是什么。使用视图而不是表是否有任何优势。

6 个答案:

答案 0 :(得分:155)

一个表包含数据,一个视图只是一个SELECT语句,它已保存在数据库中(或多或少,具体取决于您的数据库)。

视图的优点是它可以连接来自多个表的数据,从而创建它的新视图。假设您有一个带工资的数据库,您需要对其进行一些复杂的统计查询。

您可以将查询保存为视图,然后SELECT * FROM view

,而不是将复杂查询始终发送到数据库。

答案 1 :(得分:10)

  

视图是虚拟表。视图由行和列组成,就像表一样。视图和表之间的区别在于视图是在其他表(或视图)之上构建的定义,并且不会自己保存数据。如果基础表中的数据发生更改,则视图中会反映相同的更改。视图可以构建在单个表或多个表之上。它也可以构建在另一个视图之上。在SQL Create View页面中,我们将看到如何构建视图。

     

视图具有以下优点:

     
      
  1. 易于使用:视图隐藏了最终用户对数据库表的复杂性。基本上,我们可以将视图视为数据库表之上的抽象层。

  2.   
  3. 节省空间:视图占用的空间非常小,因为它们不存储实际数据。

  4.   
  5. 其他数据安全性:视图只能包含表中的某些列,以便仅包含非敏感列并向最终用户公开。此外,一些数据库允许视图具有不同的安全设置,从而将敏感数据隐藏起来。

  6.   

回答:http://www.1keydata.com/sql/sql-view.html

答案 2 :(得分:4)

在视图中,与数据库没有任何直接或物理关系。 并通过视图修改(例如插入,更新,删除) 不允许。它只是一组逻辑表

答案 3 :(得分:1)

表:

表将数据存储在数据库中并包含数据。

查看:

View是一个虚构的表,只包含字段(列),不包含将在运行时加框的数据(行) 通过连接从一个或多个表创建的视图,以及所选列。 创建视图是为了出于安全原因隐藏用户的某些列,并隐藏列中存在的信息。 视图减少了每次编写查询以访问特定列的工作量 我们可以使用视图

,而不是每次都将复杂的查询命中到数据库

答案 4 :(得分:1)

SQL视图:

View是一个基于SQL语句结果集的虚拟表,并以某种名称存储在数据库中。

SQL表:

SQL表是数据库实例,由字段(列)和行组成。

检查以下帖子,作者列出了七个differences between views and table

https://codechef4u.com/post/2015/09/03/sql-views-vs-tables

答案 5 :(得分:0)

一个视图可以帮助我们一直摆脱利用数据库空间。如果您创建一个表,它将存储在数据库中并在其存在期间保留一些空间。而是在查询运行时使用视图,从而节省了数据库空间。我们不能一直创建大表来加入不同的表虽然我们可以,但它取决于表的大小来节省空间。因此,视图只是暂时创建一个在运行时加入不同表的表。专家,如果我错了,请纠正我。