• OracleClient之诡异现象


    对于SQL语句
    select nvl(to_char(floor(avg((apfndtm-apdldtm)*24*3600))),0) from emflib.eqapypf 
     where apydat >= 20080902 and apydat <= 20080902 and apcfmfg ='C' and apapyfg='A' and  apytim >= 090000 and apytim <= 173000 AND apdeal >= 0 and apntg3 = 0 and apctg4='FANGXN'

    如果使用参数化的
    速度慢
    select nvl(to_char(floor(avg((apfndtm-apdldtm)*24*3600))),0) from emflib.eqapypf 
     where apydat >= :apydat1 and apydat <= :apydat2 and apcfmfg =:apcfmfg and apapyfg=:apapyfg and  apytim >= :apytim1
     and apytim <= :apytim2 AND apdeal >= :apdeal and apntg3 = :apntg3 and apctg4=:apctg4

    如下这条,少了一个条件,速度倒还可以
    select nvl(to_char(floor(avg((apfndtm-apdldtm)*24*3600))),0) from emflib.eqapypf 
     where apydat >= :apydat1 and apydat <= :apydat2 and apcfmfg =:apcfmfg and apapyfg=:apapyfg and  apytim >= :apytim1
     and apytim <= :apytim2 AND apdeal >= :apdeal and apntg3 = :apntg3

    如果把SQL改成
    select nvl(to_char(floor(avg((apfndtm-apdldtm)*24*3600))),0) from emflib.eqapypf 
     where apydat >= :apydat1 and apydat <= :apydat2 and apcfmfg =:apcfmfg and apapyfg=:apapyfg and  apytim >= :apytim1
     and apytim <= :apytim2 AND apdeal >= :apdeal and apntg3 = :apntg3  and apctg4='FANGXN'
    那么速度也是暴快,真是汗,有些搞不明白为何如此。数据分布
        apctg4         count(*)
    1    HUANGJF       106
    2    ZHANGYJ       117
    3    LINLIJU       2
    4    WEISQ         53
    5    ZHANGDC       28
    6    FANGXN        217
    7    LDWANGL       166
    8    LINYZ         166
    9    SHIXY         184
    10    SHAONH        163
    11    LIYY          160
    12    LDCHENWF      9


    根据经验估计,虽然是全部的SQL参数,但是SQL访问计划可能因为数据的分布或者SQL的统计信息的不及时,倒是ORACLE使用全表扫描,而使用直接SQL则可以使其又归回正确的轨道。不过看来,额滴ORACLE功底还是不够深,如果有人晓得,烦请告知原因,实在是没有精力挖那么深啊

  • 相关阅读:
    appium学习【五】【转】appium实现屏幕向左滑动
    ConfigParser模块用法
    python中的join()函数的用法
    python from import与import as 的含义
    python的termcolor模块
    python标准输入,标准输出,标准错误
    lambda匿名函数
    【二代示波器教程】第13章 RTX操作系统版本二代示波器实现
    【二代示波器教程】第12章 示波器设计—DAC信号发生器的实现
    【二代示波器教程】第11章 示波器设计—功能模块划分
  • 原文地址:https://www.cnblogs.com/wildfish/p/1282158.html
Copyright © 2020-2023  润新知