当前位置: 代码迷 >> Oracle管理 >> 【100分】怎么把查询出来的结果存到某个表中
  详细解决方案

【100分】怎么把查询出来的结果存到某个表中

热度:1086   发布时间:2016-04-24 06:22:10.0
【100分】如何把查询出来的结果存到某个表中?
我现在有一个非常复杂的多表查询并且分组统计的操作,每次运算量都比较大,费时很久,怎么能把查询出来的结果保存起来,下次直接调用?是存到一个表中还是用其他什么别的方法?谢谢大家。

------解决方案--------------------
物化视图
------解决方案--------------------
最好是建立一个物化视图,这样查询效率会大大提高。
------解决方案--------------------
建个视图 比较快点。。
------解决方案--------------------
把数据导出来啊
------解决方案--------------------
创建物化视图啊,
create materialized view mv_hotel_resv
refresh fast
enable query rewrite
as
select distinct city, resv_id, cust_name
from hotels h, reservations r 
where r.hotel_id = h.hotel_id';

------解决方案--------------------
create table 表名 as select .....
select .....是你的查询语句
------解决方案--------------------
利用游标啊
DECLARE 
 v_x VARCHAR2(10);
 v_y VARCHAR2(10);
 CURSOR cur IS
SELECT x,y
INTO v_x,v_y
FROM xy,..
WHERE ...
BEGIN
--直接使用v_x,v_y
END;
------解决方案--------------------
视图是比较易想的方法
------解决方案--------------------
你的表种数据不会变吗?要变的话这么着都没有,还是的优化sql语句,要是不变的话那就建个表放结果好了
------解决方案--------------------
探讨

create table 表名 as select .....
select .....是你的查询语句
  相关解决方案