日期:2014-05-17  浏览次数:20753 次

Oracle视图的问题
我有一张很大的表,里面会有上千万条记录,但是我在做数据统计时只用到其中的几万条数据,所以我希望通过视图将需要的数据按条件生成一张视图,那我想知道我操作这张视图的速度与用整张表加条件的速度一样快吗?还是速度有提升?
------解决方案--------------------
差不多,视图也是从你的表里拿数据
------解决方案--------------------
用物化视图,
请参考
http://www.cnblogs.com/lanzi/archive/2010/11/16/1878344.html
------解决方案--------------------
引用:
我有一张很大的表,里面会有上千万条记录,但是我在做数据统计时只用到其中的几万条数据,所以我希望通过视图将需要的数据按条件生成一张视图,那我想知道我操作这张视图的速度与用整张表加条件的速度一样快吗?还是速度有提升?

速度上应该差不了多少,有的时候可能还会变慢,要看具体的执行计划。。
其实视图的优势在于易读、逻辑可维护、可装载程序需要的数据集及它的安全性,不用讲表暴漏出来。。
sql的效率还是在于sql本身的组织使用,不能靠视图来解决效率。

------解决方案--------------------
根据查询的条件,用好索引应该可以解决
------解决方案--------------------
建议楼主建索引吧,或者用临时表
------解决方案--------------------
视图是虚表,没有数据存储,最后还是对基表进行操作,速度应该没区别。
可以考虑物化视图将需要的数据形成快照,操作会快点。