oracle数据库账号删除关于数据库创建视图效率的简单讲解

关于数据库创建视图效率的简单讲解

 

创建视图的主要目的是为了方便查询数据,而不能提高查询效率,要提高效率只能通过其它的办法优化,比如创建索引之类的。

 

以下证明上面的说法:

 

按日查询出平均数据,数据量为58万条

 

select avg(ave_value) ave_value,to_date((CONCAT(to_char(create_time,'yyyy-mm-dd'),' 00:00:00')),'yyyy-mm-dd hh24:mi:ss')create_time  from PDB_NWD_CPUM_D group by to_char(create_time,'yyyy-mm-dd');

 

耗时:0.422秒

 

下面创建一个视图跟上面语法的对应

 

create view PDB_NWD_CPUM_D_DAY as select avg(ave_value) ave_value,to_date((CONCAT(to_char(create_time,'yyyy-mm-dd'),' 00:00:00')),'yyyy-mm-dd hh24:mi:ss')  create_time from PDB_NWD_CPUM_D group by to_char(createoracle账号_time,'yyyy-mm-dd');

 

视图创建完之后我们查询这个视图:

 

select ave_value,create_time  from PDB_NWD_CPUM_D_DAY;

耗时0.429秒

 

 

多运行几遍发现查询效率并没提高。

 

当然如果针对多张表做视图,将会体现出视图的好处–方便。
 

此条目发表在oracle metalink账号分类目录,贴了标签。将固定链接加入收藏夹。