关于查询结果集大量插入到表中问题

xin1280 2013-11-12 11:33:14
现在有一张表A,表A里有几十亿的数据。有10几个SQL语句,都是在对表A进行查询,并且结果集的字段都是一样的,只是WHERE条件不一样,结果集有的只有几十条记录,有的有几千万条记录。在查询完以后,还要对结果集进行查询,比如统计,分页,分组之类的。所以我想把结果集保存起来,再进行分析比较好点。保存到表或视图里(不考虑临时表)。这些数据只是临时使用,用过之后就清除掉。有没有人提供个好点的思路。
PS:使用的是ORACLE
...全文
282 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
FIGHT_ANGEL 2013-11-13
  • 打赏
  • 举报
回复
如果同时多人并发操作,临时表是最好的选择啊。
  • 打赏
  • 举报
回复
引用 3 楼 xin1280 的回复:
[quote=引用 1 楼 HJ_daxian 的回复:] 那就新建个表 表结构和要查询出来的数据字段对应 查询出来的结果集insert到里面 用完后直接truncate 方面下次查询插入使用
现在问题是不是一个人在用啊,所有人的结果集都放到一张表中,你truncate就把别人的数据也清除了。要是是一人一张表那表也太多了[/quote] 都在一个事务里面,谁用完了谁truncate或者一天truncate一次,谁要用了再自己语句查;
xin1280 2013-11-13
  • 打赏
  • 举报
回复
引用 1 楼 HJ_daxian 的回复:
那就新建个表 表结构和要查询出来的数据字段对应 查询出来的结果集insert到里面 用完后直接truncate 方面下次查询插入使用
现在问题是不是一个人在用啊,所有人的结果集都放到一张表中,你truncate就把别人的数据也清除了。要是是一人一张表那表也太多了
醉爱梁静茹 2013-11-13
  • 打赏
  • 举报
回复
引用
于: 2013-11-13 02:40:05
那就新建个表 表结构和要查询出来的数据字段对应

查询出来的结果集insert到里面 用完后直接truncate 方面下次查询插入使用

truncate删除比较快
fanfanyuzhui 2013-11-13
  • 打赏
  • 举报
回复
不知道WHRRE 条件 是根据什么来的,不知道创建物化视图可行不
xin1280 2013-11-13
  • 打赏
  • 举报
回复
引用 6 楼 forgetsam 的回复:
有10几个SQL语句,都是在对表A进行查询,并且结果集的字段都是一样的,只是WHERE条件不一样 --把where条件改成decode,一次查出来。
这些都是分开查询的,各自保存结果集。你这样就不能并发处理两个SQL了
  • 打赏
  • 举报
回复
那就新建个表 表结构和要查询出来的数据字段对应 查询出来的结果集insert到里面 用完后直接truncate 方面下次查询插入使用
xin1280 2013-11-13
  • 打赏
  • 举报
回复
引用 5 楼 FIGHT_ANGEL 的回复:
如果同时多人并发操作,临时表是最好的选择啊。
我也知道临时表是最好的选择。用临时表有些问题要解决。连接池不能用会话级临时表。用SPRING声明式事务管理,事务都是全自动管理的,也没法使用事务级临时表。很麻烦的
forgetsam 2013-11-13
  • 打赏
  • 举报
回复
有10几个SQL语句,都是在对表A进行查询,并且结果集的字段都是一样的,只是WHERE条件不一样 --把where条件改成decode,一次查出来。

3,499

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧