急:如何把查询结果转化为临时表方便查询啊!
ORACLE数据库,用SQL写了一个数据量比较大的查询三个表关联30万的数据量,我现在要用报表工作做报表,这个SQL执行的速度太慢了,是否可以先建立一临时表来存放我查询的...
ORACLE数据库,用SQL写了一个数据量比较大的查询三个表关联30万的数据量,我现在要用报表工作做报表,这个SQL执行的速度太慢了,是否可以先建立一临时表来存放我查询的这些结果数据,然后我在报表程序里直接查询这个结果表就可以了,应该如何实现?建立临时表吗,怎么建立,谢谢!
展开
3个回答
展开全部
好像不好搞....要存放这个表得占很多内存,机子还不死啊~
建议检查好自己的sql,做好优化吧
还有一个,finereport 的定时生成功能,就是对于数据量、运算量过于庞大的报表,例如库中数据量达到数千万,或者生成的报表有数千页甚至更多,为了减小服务器的负载,不影响日常的工作,也可以将生成报表的任务放到服务器空闲时间运行(晚上,凌晨等),当用户查询报表就不需要在占用系统资源。同时数据量过大的数据库,一般来说历史数据保存的时间都不长,通过定时运行也是保存历史数据的一种手段,这个具体我没操作过,你可以试一下。
建议检查好自己的sql,做好优化吧
还有一个,finereport 的定时生成功能,就是对于数据量、运算量过于庞大的报表,例如库中数据量达到数千万,或者生成的报表有数千页甚至更多,为了减小服务器的负载,不影响日常的工作,也可以将生成报表的任务放到服务器空闲时间运行(晚上,凌晨等),当用户查询报表就不需要在占用系统资源。同时数据量过大的数据库,一般来说历史数据保存的时间都不长,通过定时运行也是保存历史数据的一种手段,这个具体我没操作过,你可以试一下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
临时表也一样慢吧......解决不了根本
你可以先优化你写的SQL文,记它的检索速度快些.
然后再改进报表的取数方法,报表一次读30万数据本来就是很快的,
比如你可以分次读,边读边打....
提供些思路,你可以根据实际改进
你可以先优化你写的SQL文,记它的检索速度快些.
然后再改进报表的取数方法,报表一次读30万数据本来就是很快的,
比如你可以分次读,边读边打....
提供些思路,你可以根据实际改进
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
create table temp as
三个表关联的select 语句
然后你select * from temp 就OK了
三个表关联的select 语句
然后你select * from temp 就OK了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询