Sql 视图是否在插入(或更新)到基表后立即更新

Sql 视图是否在插入(或更新)到基表后立即更新,sql,sql-server,sql-server-2008,view,Sql,Sql Server,Sql Server 2008,View,我有一个关于观点的问题。考虑到我们在基数表中插入了一个记录。我的视图是否在此插入后更新,或者我应该执行选择更新 我想我的问题很明显-视图只是一个选择还是它的结果保存在数据库中,如果它是基表,那么当它被更新时,它就会变成更新?普通视图不会持久化。如果在中插入了可更新的视图,则从视图(或受影响的基础表)中选择将显示结果 不完全确定您要解决的问题。视图(非索引)足以满足大多数应用程序 查看索引视图:: 对于非索引视图,视图的部分是必需的 要解决此问题,查询将在运行时具体化。有这样的计算吗 as连接或聚

我有一个关于观点的问题。考虑到我们在基数表中插入了一个记录。我的视图是否在此插入后更新,或者我应该执行
选择
更新


我想我的问题很明显-视图只是一个
选择
还是它的结果保存在数据库中,如果它是基表,那么当它被更新时,它就会变成更新?

普通视图不会持久化。如果在中插入了可更新的视图,则从视图(或受影响的基础表)中选择将显示结果

不完全确定您要解决的问题。视图(非索引)足以满足大多数应用程序

查看索引视图::

对于非索引视图,视图的部分是必需的 要解决此问题,查询将在运行时具体化。有这样的计算吗 as连接或聚合是在每个 引用视图的查询在创建唯一聚集索引之后 在视图上创建时,视图的结果集将立即具体化 并在数据库的物理存储中持久化,节省了开销 在执行时执行此代价高昂的操作。


索引视图的典型用途是当需要执行昂贵的聚合时。

普通视图不会持久化。如果在中插入了可更新的视图,则从视图(或受影响的基础表)中选择将显示结果

不完全确定您要解决的问题。视图(非索引)足以满足大多数应用程序

查看索引视图::

对于非索引视图,视图的部分是必需的 要解决此问题,查询将在运行时具体化。有这样的计算吗 as连接或聚合是在每个 引用视图的查询在创建唯一聚集索引之后 在视图上创建时,视图的结果集将立即具体化 并在数据库的物理存储中持久化,节省了开销 在执行时执行此代价高昂的操作。


索引视图的典型用途是当需要执行昂贵的聚合时。

将视图视为select语句。不必写出整个select语句,只需选择视图,它就会为您运行select语句。因此,是的,您对基础表所做的任何操作都将在视图中自动可见。

将视图视为select语句。不必写出整个select语句,只需选择视图,它就会为您运行select语句。因此,是的,您对基础表所做的任何操作都将在视图中自动可见。

您说的是普通视图。我们有其他视图类型吗?我希望我的数据成为持久数据,并且在我的基表中每次插入
后,我的视图成为UpdateEyes,另一种类型称为索引视图Index views持久数据吗?@BrandonMoore:视图上的聚集索引是该视图的数据,这就是持久数据(聚集索引及其所有页面-->所有数据页面)@BrandonMoore:聚集索引就是数据——因此,如果聚集索引是持久化的,那么实际上,视图的整个数据都是持久化的,你说的是普通视图。我们有其他视图类型吗?我希望我的数据成为持久数据,并且在我的基表中每次插入
后,我的视图成为UpdateEyes,另一种类型称为索引视图Index views持久数据吗?@BrandonMoore:视图上的聚集索引是该视图的数据,这就是持久数据(聚集索引及其所有页面-->所有数据页面)@BrandonMoore:聚集索引就是数据——因此,如果聚集索引是持久化的,那么实际上,视图的整个数据都是持久化的Simple and clean answer+1 Simple and clean answer+1