当前位置:操作系统 > Unix/Linux >>

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

关于数据库创建视图效率的简单讲解
 
创建视图的主要目的是为了方便查询数据,而不能提高查询效率,要提高效率只能通过其它的办法优化,比如创建索引之类的。
 
以下证明上面的说法:
 
按日查询出平均数据,数据量为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(create_time,'yyyy-mm-dd');
 
视图创建完之后我们查询这个视图:
 
select ave_value,create_time  from PDB_NWD_CPUM_D_DAY;
耗时0.429秒
 
 
多运行几遍发现查询效率并没提高。
 
当然如果针对多张表做视图,将会体现出视图的好处--方便。
 
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,