首页 新闻 会员 周边

DB2 查询大数据量(20W以上) 速度过慢,求优化,一下代码,在线等

0
悬赏园豆:100 [已解决问题] 解决于 2015-09-09 13:40

SELECT 
TM.DEALER_CODE, 
TM.DEALER_SHORTNAME, 
T.STORAGE_CODE, T.STORAGE_NAME,
T.PART_NO,T.PART_NAME,T.OH_COUNT,T.LIMIT_NO,
T.DNP,T.SALES_PRICE,(T.DNP * T.OH_COUNT) PRICE, to_char(T.UPDATE_DATE,'yyyy-MM-dd') UPDATE_DATE
FROM TT_PT_DEALER_STOCK T,TM_DEALER TM
where T.DEALER_CODE = TM.DEALER_CODE
AND T.OH_COUNT <> 0

徘徊在人间的水墨的主页 徘徊在人间的水墨 | 初学一级 | 园豆:114
提问于:2015-09-09 11:45
< >
分享
最佳答案
-1

一、(T.DNP * T.OH_COUNT) PRICE, to_char(T.UPDATE_DATE,'yyyy-MM-dd')  改到客户端处理,不在数据库操作

二、评估下FROM TT_PT_DEALER_STOCK T JOIN TM_DEALER TM ON T.DEALER_CODE = TM.DEALER_CODE 与 FROM FROM TT_PT_DEALER_STOCK T,TM_DEALER TM where T.DEALER_CODE = TM.DEALER_CODE 性能

三、DEALER_CODE的索引创建

四、T.OH_COUNT <> 0中的值会有负值?如果没有负值,T.OH_COUNT >0来代替,或者评估(T.OH_COUNT<0 OR T.OH_COUNT>0)的性能

另外考虑其它试为代替客户端直接查询并返回20W的数据(比如SQL的工具输出txt文件并压缩,然后传给客户端的HTTP请求之类),性能上会有很大改善。

收获园豆:100
拉风的拉灯 | 小虾三级 |园豆:585 | 2015-09-09 13:37

thanks

徘徊在人间的水墨 | 园豆:114 (初学一级) | 2015-09-09 13:40
其他回答(4)
0

20W行数据全读出来.光传输数据都要多久?

吴瑞祥 | 园豆:29449 (高人七级) | 2015-09-09 11:49

在数据库直接查要1分半,,,后序还要下载,也要时间1分半左右,,,时间过长,服务器会直接断开连接

支持(0) 反对(0) 徘徊在人间的水墨 | 园豆:114 (初学一级) | 2015-09-09 11:53

@徘徊在人间的水墨: 唯一的优化方式就是少查一些.

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2015-09-09 11:57

@徘徊在人间的水墨: 程序里从数据库查询的时候,也是要从数据库把数据读取到程序中的.这个过程也是要走网络的,也是要时间的.

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2015-09-09 11:58

@吴瑞祥: 不能少查,,要下载全部的

支持(0) 反对(0) 徘徊在人间的水墨 | 园豆:114 (初学一级) | 2015-09-09 11:59
-2

花个3、5百万买台好点的IBM吧,反正不缺钱,把请程序员节省下来的钱都拿去买服务器好了。

爱编程的大叔 | 园豆:30839 (高人七级) | 2015-09-09 11:52

大叔啊,真这样,我就不纠结了╮(╯▽╰)╭

支持(0) 反对(0) 徘徊在人间的水墨 | 园豆:114 (初学一级) | 2015-09-09 11:54

@徘徊在人间的水墨: 本来瑞祥说了,我就不需要再说了,可是你连瑞祥的话都听不懂就没有办法了。

支持(0) 反对(0) 爱编程的大叔 | 园豆:30839 (高人七级) | 2015-09-09 11:59

@爱编程的大叔: 是要时间,,所以,要问的是,怎么能减少时间!

支持(0) 反对(0) 徘徊在人间的水墨 | 园豆:114 (初学一级) | 2015-09-09 12:03

@徘徊在人间的水墨: 升级硬件啊。内存多点,硬盘用SSD,CPU买最好的。网卡买最好的。

支持(0) 反对(0) 爱编程的大叔 | 园豆:30839 (高人七级) | 2015-09-09 12:07
-4

你这一句也没啥好优化的了,不知道你一下查这么多数据干什么,做个分页不行吗

MrNice | 园豆:3450 (老鸟四级) | 2015-09-09 12:23

这个是下载功能的查询

支持(0) 反对(0) 徘徊在人间的水墨 | 园豆:114 (初学一级) | 2015-09-09 12:35

@徘徊在人间的水墨: 你的方向是错了,这么大量的查询应该用后台程序定时处理,或者Windows Form处理。

支持(0) 反对(0) rhs | 园豆:214 (菜鸟二级) | 2015-09-14 11:36
0

谢谢了啊

小明同学 | 园豆:12 (初学一级) | 2015-09-10 15:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册