Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

13

积分

0

好友

4

主题
1#
发表于 2014-11-5 10:12:10 | 查看: 4480| 回复: 2
环境是AIX6.1 + oracle 10.2.0.4.0
情况是 :
昨天碰见问题是,发现条件中
FROM (SELECT TRUNC(SYSDATE + ROWNUM) as DATE_DAY FROM TCODE WHERE ROWNUM < 7 ) C
细看可分析,DATE_DAY 其实和表数据无关,
然后将数据再放入function循环取数。

可是经过测试 TRUNC(SYSDATE + ROWNUM)   和去挑trunc 后效率差别非常大。
昨天分析后,也没查出有效方法。

今天再次想分析时,效率居然恢复了。

没有特别好思路,请各位大牛分析下。

bad.txt.txt

14.34 KB, 下载次数: 1127

good.txt.txt

10.42 KB, 下载次数: 1239

2#
发表于 2014-11-5 10:41:02
这2句是在function中的一段内容

回复 显示全部楼层 道具 举报

3#
发表于 2014-11-5 10:41:30
sql如下:
SELECT  C.DATE_DAY,
               GRUNDF.FUN_GET_ADMINDELIVERQTYMAX('4678732014',
                                                 '2000',
                                                 '991',
                                                 '00',
                                                 '10',
                                                 '001',
                                                 '001',
                                                 C.DATE_DAY) AS DMAX,
               GRUNDF.FUN_GET_ADMINDELIVERQTYUSE('4678732014',
                                                 '2000',
                                                 '991',
                                                 '00',
                                                 '10',
                                                 '001',
                                                 '001',
                                                 C.DATE_DAY) AS DUSE
          FROM (SELECT TRUNC(SYSDATE + ROWNUM) as DATE_DAY FROM TCODE WHERE ROWNUM < 7 ) C

回复 显示全部楼层 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-6-1 19:49 , Processed in 0.055823 second(s), 24 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569