发布网友 发布时间:2022-04-23 18:06
共3个回答
热心网友 时间:2022-05-06 11:15
视图也叫虚表,存放的是解释后的sql语句,不保存实际数据,不占物理空间,即视图本身不包含任何数据,只包含映射到表的一个查询语句,当表数据发生变化时,视图也随之变化,
作用:方便查询,*数据访问(视图本质是一条select语句,)当访问视图时,只能访问到select语句中涉及到的列,对其他列起到安全和保密的作用。
一般应该用在查询的方面,比如特定的查询页面,而且经常调用,就可以用视图提高效率。(个人看法啊)
具体应用场合应该要看业务需求了,我只知道这么多,
其他的就需要数据库方面的大神给你解答了。希望能帮到你。追问应用场合的话您要是能举一个例子我就采纳您的
热心网友 时间:2022-05-06 12:33
复杂的查询(如决策支持系统中的查询)可引用基表中的大量行,并将大量信息聚积在相对较简洁的聚合中,如总和或平均值。SQL Server 2000 支持在执行此类复杂查询的视图上创建聚集索引。当执行 CREATE INDEX 语句时,视图 SELECT 的结果集将永久存储在数据库中。SQL 语句此后若引用该视图,响应时间将会显著缩短。对基本数据的修改将自动反映在视图中。
SQL Server 2000 CREATE VIEW 语句支持 SCHEMABINDING 选项,以防止视图所引用的表在视图未被调整的情况下发生改变。必须为任何创建索引的视图指定 SCHEMABINDING。
例:创建视图
Create View TitleView
AS
Select ID,Title,PostTime,Hits From [List]
然后引用Select Top 100 * From TitleView
用循环输出数据与直接Select Top 100 * From [List]相比速度提高将近30毫秒!
当然我这里只是举例子,一般情况下对单个表没必要去用视图追问在什么场合用
追答多表联合复杂的查询,一般情况下对单个表没必要去用视图
热心网友 时间:2022-05-06 14:08
视图只能查看,但不能编辑,比如你有3张表,一张表是客户的基本信息,一张是工作信息,一张是资产信息,如果你经常需要把这3张表联合起来查询,比如某个客户的姓名,工作单位和资产总额,如果每次都join一遍,sql语句很长,而且效率也不高,可以把这3张表做成视图,视图是提前编译好的,查起来就像一张表,可以直接from,可以速度比join快。