返回信息流可能标题描述得不大准确
是这样的:有个大表(数万行),需要进行五个查询
表结构:字段a,b,c,d,e,f,g,h,其中a,b是索引,还以a进行了分区,a是日期,按每天的日期进行了分区
现在要进行5个查询,其中有部分筛选条件是一样的,a between ‘20070916’ and ‘20071012’, b=11;这两个筛选得耗去很长时间
其他筛选条件不一样
怎样才能把相同的筛选条件的采集出来的数据集在五个查询中重复利用,而不是每次查询都得去重复筛选相同的条件?
谢谢~~
这是一条镜像帖。来源:北邮人论坛 / database / #2637同步于 2008/10/23
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖
采集的数据集怎么才能重复利用?
kaka10
2008/10/23镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
没让你建表……
sql本身就支持“临时表”这种东西,可以保存你的操作集。
如果你只适用sql语句的话,就可以用这个。
如果你还在用java,或者C#之类的操作数据库的话,那就更简单了。
搞一个变量存储结果集就好了。
re。。
【 在 ericyosho (ericyosho) 的大作中提到: 】
: 没让你建表……
: sql本身就支持“临时表”这种东西,可以保存你的操作集。
: 如果你只适用sql语句的话,就可以用这个。
: ...................
几万行并没有多少条数据啊,
问题可能出在sql的执行查询计划上,我做一个项目的时候1500万80多个字段的数据(导出文件8个G)去查建了索引的日期数据也就是10秒以内的事;
首先你看看索引有没有被使用;
索引如果被使用,是用的a列还是b列,这句sql类型的sql只会使用一个索引,使用联合索引会更好的效果。
索引如果没有被使用,试试看取消分区表,重建表和索引,更新统计信息,会不会使用索引。几万条记录就用分区表太让人惊讶了
我不是职业的dba,轻拍