SQL SERVER 2000的一个雾区;()!()拒绝灌水 (300分)

B

beeta

Unregistered / Unconfirmed
GUEST, unregistred user!
我不知道到底有多少人用了解SQL SERVER的VIEW,我想向这些人了解有关VIEW的情况:
1 VIEW可以帮助数据库实现什么功能;
2 VIEW有那些优点和缺点,在那些地方应该使用它;
3 VIEW到底是表的复制还是表的镜像;
4 VIEW的速度问题,它是采用那种排列方法进行索引的;
5 VIEW与直接用JION多表的语句有何区别。


 
书上都有啊!
 
是呀,书上都有,这些都是基本概念呀!兄弟要散分也不用这样吧。本来想从书上抄录一段
下来,但实在不想打字,呵呵!
 
我也是同意forgot2002,看看书。
View有很多好处,但是在做MIS的时候,我基本上不用View,
 
我想说:
1、VIEW可以帮助数据库进行安全设计,隐藏敏感信息;同时VIEW隐藏了实现细节,方便了
前台的程序设计;如果设计得好的话,可以直接修改VIEW而不用修改前台应用程序。
2、使用VIEW我还没看到缺点。可能在多表JION时更新会麻烦一点吧。
3、其他问题我也想知道。但我感觉VIEW的速度要好一些,它应该放到缓冲区里了。
 
to michael.fly 3 错,view每次执行事都重新编译,速度方面没有任何提高
 
SQL SERVER 2000中新增加了分区视图,可以把数据分布在多个服务器上,
分配工作负载,从而提高性能。
但对于使用者来说,就象在一台服务器上使用一样,对于修改,插入,查询
操作,Sql Server 2000可以自动分配数据存到相应服务器上。
 
view简化了程序复杂度,对于经常调用的多表连接,这个优点更明显。
原理上view并没有物理存在,每次执行重新编译,但实际上的却能提高速度,原因不详,事实如此。
 
to sevn/forgt2002/kkyy/tangzwei:书上的东西有很多,我有很多不能理解的!同时,
每本书都有片面的地方。
to michael.fly:第1点是大家公认的VIEW的优点。23也是我想知道的。
to ericimex01/gophie/w12345679:具我所知,VIEW是TABLE的复制,它没有物理存在,
而是存在TEMPDB临时表中。最令人可怕的是,VIEW的排列是物理排列而不是指针型的,
你们都知道VIEW是自动重新编译,那么当表的数据量大,更新频繁时会出现什么情况
呢?在一个大型的数据库系统中,它能否胜任后台的工作。
另外,在前台,连接VIEW的界面如何有效地得到数据库的变动而反映给用户知道呢?
 
具我所了解(可能不是很准确!)
View存储的是Sql的定义,相当于你用来检索时候使用的select.....jion.....
每次被调用的时候,刷新数据。而且定义的时候好象可以选择是否view自动更新。
如果是自动更新,修改了对应表中的数据,view也更新了。但是这样会影响服务器的性能。
如果不自动更新,速度有所提升,但是,数据就不是最新的了。呵呵。主要看你对数据要求的响应时间了。
在大型数据库中既然有View的存在而且又说有好处,那一定是有好处了。呵呵。可能是算法或者内部实现的机制进行了优化,所以速度有所提升。
我觉得用View应该有很多好处,尽管我不用。
如果view是自动更新的,你在前台只要用一个时间控件进行刷新应该就可以了吧!
个人观点,不一定正确,仅供参考。
 
老兄,可别再把分都给了Beetaim,小心被列入黑名单!
 
View和查询控件用的查询语句没什么区别,而且某些方面还不如直接保存的查询语句,
比如说应用时的宏替换,我们可以在一个语句中设置宏符号,用在不同之处时替换上不同的内容即可,但这样的语句在Create View时是通不过的。
 
太多VIEW会不会拖垮数据库呢?
 
视图过多会加载负荷,拖垮没有试验过。
 

Similar threads

回复
0
查看
750
不得闲
回复
0
查看
736
不得闲
S
回复
0
查看
680
SUNSTONE的Delphi笔记
S
S
回复
0
查看
688
SUNSTONE的Delphi笔记
S
顶部