免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: 伯爵的Druid
打印 上一主题 下一主题

这一点小小的区别,速度就差100倍么 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2005-01-28 12:16 |只看该作者

这一点小小的区别,速度就差100倍么

It's interesting. Which optimizer is used for your queries? I assume it is RBO.  Can you confirm that?

论坛徽章:
0
12 [报告]
发表于 2005-01-28 17:53 |只看该作者

这一点小小的区别,速度就差100倍么

Can you post full sql ?

Do you use sub-query ?

论坛徽章:
0
13 [报告]
发表于 2005-01-30 13:54 |只看该作者

这一点小小的区别,速度就差100倍么

把执行计划贴出来看看啊,是不是加过函数索引啦

论坛徽章:
0
14 [报告]
发表于 2005-01-31 16:34 |只看该作者

这一点小小的区别,速度就差100倍么

优化方案是first rows
下面是脚本 只要把这个脚本的2005-1-26
改成20050126 速度相差100倍


SELECT   0 accountid, 0 companyid, 0 deptid,
         TO_DATE ('2005-01-26', 'YYYY-MM-DD') submittime, 0 ID, '' orderid,
         TO_DATE ('2005-01-26', 'YYYY-MM-DD') orderdate, a.customerid,
         0 productid, b.customercode productcode, b.customerdesc productdesc,
         '' baseunit,
         CASE
            WHEN SUM (quantorder) = 0
               THEN 0
            ELSE ROUND (  SUM (amounttradeorder)
                        / SUM (CAST (quantorder AS DEC (12))),
                        2
                       )
         END tradeprice,
         '' retailprice, SUM (quantreq) quantreq, SUM (quantorder) quantorder,
         SUM (amounttradeorder) amounttradeorder,
         SUM (quantdelivered) quantdelivered,
         SUM (amountdelivered) amountdelivered, SUM (quantsales) quantsales,
         SUM (amounttradesales) amounttradesales,
         SUM (amountretailsales) amountretailsales, '' taxrate, '' tax,
         '' disc, '' discamount, 0 invoiceno, '' invoicetype, '' paymentmode,
         '' ispaid, '' acceptancemode, '' deliverymode, '' ischeck,
         TO_DATE ('2005-01-26', 'YYYY-MM-DD') checkdate, '' orderstatus,
         0 roadid, 0 deliverseq, a.visitsalesmanid, a.delevererid,
         0 invoicemakerid, '' gpicklistid, '' deliverylistid,
         TO_DATE ('2005-01-26', 'YYYY-MM-DD') deliverydate, 0 whid, '' remark,
         '' iscancel, '' tag
    FROM t_visitsales_orderdetail a JOIN t_comm_customer b ON a.customerid =
                                                                  b.customerid
   WHERE a.productid = 110110
     AND NVL (a.paymentmode, '0') LIKE '%'
     AND NVL (acceptancemode, '0') LIKE '%'
     AND NVL (a.ispaid, '0') LIKE '%'
     AND NVL (a.iscancel, '0') LIKE '0'
     AND orderdate BETWEEN TO_DATE ('2005-1-26', 'yyyy-mm-dd')
                       AND TO_DATE ('2005-1-26', 'yyyy-mm-dd')
     AND a.visitsalesmanid = 9001
GROUP BY a.visitsalesmanid,
         a.delevererid,
         a.customerid,
         b.customercode,
         b.customerdesc
ORDER BY b.customercode

论坛徽章:
0
15 [报告]
发表于 2005-01-31 16:37 |只看该作者

这一点小小的区别,速度就差100倍么

执行计划1
SELECT STATEMENT, GOAL = FIRST_ROWS
SORT GROUP BY
  NESTED LOOPS
   TABLE ACCESS FULL        SJZEM        T_VISITSALES_ORDERDETAIL
   TABLE ACCESS BY INDEX ROWID        SJZEM        T_COMM_CUSTOMER
    INDEX UNIQUE SCAN        SJZEM        PK_T_COMM_CUSTOMER

论坛徽章:
0
16 [报告]
发表于 2005-01-31 16:38 |只看该作者

这一点小小的区别,速度就差100倍么

执行计划2
SELECT STATEMENT, GOAL = FIRST_ROWS
SORT GROUP BY
  FILTER                                       
   NESTED LOOPS
    TABLE ACCESS BY GLOBAL INDEX ROWID        SJZEM        T_VISITSALES_ORDERDETAIL
     INDEX SKIP SCAN        SJZEM        IDX_ORDERDETAIL_ORG
    TABLE ACCESS BY INDEX ROWID        SJZEM        T_COMM_CUSTOMER       
     INDEX UNIQUE SCAN        SJZEM        PK_T_COMM_CUSTOMER

论坛徽章:
0
17 [报告]
发表于 2005-01-31 16:43 |只看该作者

这一点小小的区别,速度就差100倍么

两个执行计划的区别
仅仅在于我把where子句的2005-1-26
改成了20050126
先后两个查询
前1个 用时8.5秒
后1个 用时0.125秒

论坛徽章:
0
18 [报告]
发表于 2005-06-28 11:22 |只看该作者

这一点小小的区别,速度就差100倍么

提上来
问题又出现了 谢谢

论坛徽章:
0
19 [报告]
发表于 2005-06-28 11:39 |只看该作者

这一点小小的区别,速度就差100倍么

请问一下楼主,先后两条SQL出来的结果都一样吗?

论坛徽章:
0
20 [报告]
发表于 2005-06-28 11:45 |只看该作者

这一点小小的区别,速度就差100倍么

ok 回楼上结果一模一样 但是 时间差很多
上次出现这个问题 重启了小型机 这个问题就没了
前几天又重启了机器 问题又出现了。
对系统的影响非常大,把应用搞垮。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP