反连接走NL时无法改变驱动表

来源:互联网 发布:信用卡账单制作软件 编辑:程序博客网 时间:2024/05/02 19:08
explain plan for SELECT BC."SERIALNO",       BC."RELATIVESERIALNO",       BC."ARTIFICIALNO",       BC."OCCURDATE",       BC."CUSTOMERID",       BC."CUSTOMERNAME",       BC."BUSINESSTYPE",       BC."OLDBUSINESSTYPE",       BC."BUSINESSSUBTYPE",       BC."OCCURTYPE",       BC."CREDITDIGEST",       BC."CREDITCYCLE",       BC."CREDITTYPE",       BC."CURRENYLIST",       BC."CURRENCYMODE",       BC."BUSINESSTYPELIST",       BC."CALCULATEMODE",       BC."USEORGLIST",       BC."FLOWREDUCEFLAG",       BC."CONTRACTFLAG",       BC."SUBCONTRACTFLAG",       BC."SELFUSEFLAG",       BC."CREDITINDEX",       BC."CREDITREDUCESUM",       BC."LIMITATIONTERM",       BC."USETERM",       BC."CREDITAGGREEMENT",       BC."RELATIVEAGREEMENT",       BC."LOANFLAG",       BC."TOTALSUM",       BC."OURROLE",       BC."REVERSIBILITY",       BC."BILLNUM",       BC."HOUSETYPE",       BC."LCTERMTYPE",       BC."RISKATTRIBUTE",       BC."SURETYPE",       BC."SAFEGUARDTYPE",       BC."CREDITBUSINESS",       BC."BUSINESSCURRENCY",       BC."BUSINESSSUM",       BC."BUSINESSPROP",       BC."TERMYEAR",       BC."TERMMONTH",       BC."TERMDAY",       BC."LGTERM",       BC."BASERATETYPE",       BC."BASERATE",       BC."RATEFLOATTYPE",       BC."RATEFLOAT",       BC."BUSINESSRATE",       BC."ICTYPE",       BC."ICCYC",       BC."PDGRATIO",       BC."PDGSUM",       BC."PDGPAYMETHOD",       BC."PDGPAYPERIOD",       BC."PROMISESFEERATIO",       BC."PROMISESFEESUM",       BC."PROMISESFEEPERIOD",       BC."PROMISESFEEBEGIN",       BC."MFEERATIO",       BC."MFEESUM",       BC."MFEEPAYMETHOD",       BC."AGENTFEE",       BC."DEALFEE",       BC."TOTALCAST",       BC."DISCOUNTINTEREST",       BC."PURCHASERINTEREST",       BC."BARGAINORINTEREST",       BC."DISCOUNTSUM",       BC."BAILRATIO",       BC."BAILCURRENCY",       BC."BAILSUM",       BC."BAILACCOUNT",       BC."FINERATETYPE",       BC."FINERATE",       BC."DRAWINGTYPE",       BC."FIRSTDRAWINGDATE",       BC."DRAWINGPERIOD",       BC."PAYTIMES",       BC."PAYCYC",       BC."GRACEPERIOD",       BC."OVERDRAFTPERIOD",       BC."OLDLCNO",       BC."OLDLCTERMTYPE",       BC."OLDLCCURRENCY",       BC."OLDLCSUM",       BC."OLDLCLOADINGDATE",       BC."OLDLCVALIDDATE",       BC."DIRECTION",       BC."PURPOSE",       BC."PLANALLOCATION",       BC."IMMEDIACYPAYSOURCE",       BC."PAYSOURCE",       BC."CORPUSPAYMETHOD",       BC."INTERESTPAYMETHOD",       BC."PUTOUTDATE",       BC."MATURITY",       BC."THIRDPARTY1",       BC."THIRDPARTYID1",       BC."THIRDPARTY2",       BC."THIRDPARTYID2",       BC."THIRDPARTY3",       BC."THIRDPARTYID3",       BC."THIRDPARTYREGION",       BC."THIRDPARTYACCOUNTS",       BC."CARGOINFO",       BC."PROJECTNAME",       BC."OPERATIONINFO",       BC."CONTEXTINFO",       BC."SECURITIESTYPE",       BC."SECURITIESREGION",       BC."CONSTRUCTIONAREA",       BC."USEAREA",       BC."FLAG1",       BC."FLAG2",       BC."FLAG3",       BC."TRADECONTRACTNO",       BC."INVOICENO",       BC."TRADECURRENCY",       BC."TRADESUM",       BC."LCNO",       BC."PAYMENTDATE",       BC."OPERATIONMODE",       BC."BEGINDATE",       BC."ENDDATE",       BC."VOUCHCLASS",       BC."VOUCHTYPE",       BC."VOUCHTYPE1",       BC."VOUCHTYPE2",       BC."VOUCHFLAG",       BC."WARRANTOR",       BC."WARRANTORID",       BC."OTHERCONDITION",       BC."GUARANTYVALUE",       BC."GUARANTYRATE",       BC."BASEEVALUATERESULT",       BC."RISKRATE",       BC."LOWRISK",       BC."OTHERAREALOAN",       BC."LOWRISKBAILSUM",       BC."APPLYTYPE",       BC."ORIGINALPUTOUTDATE",       BC."EXTENDTIMES",       BC."LNGOTIMES",       BC."GOLNTIMES",       BC."DRTIMES",       BC."GUARANTYNO",       BC."PUTOUTSUM",       BC."ACTUALPUTOUTSUM",       BC."BALANCE",       BC."NORMALBALANCE",       BC."OVERDUEBALANCE",       BC."DULLBALANCE",       BC."BADBALANCE",       BC."INTERESTBALANCE1",       BC."INTERESTBALANCE2",       BC."FINEBALANCE1",       BC."FINEBALANCE2",       BC."OVERDUEDAYS",       BC."OWEINTERESTDAYS",       BC."TABALANCE",       BC."TAINTERESTBALANCE",       BC."TATIMES",       BC."LCATIMES",       BC."PBINTERESTSUM",       BC."PBMFEESUM",       BC."PBPDGSUM",       BC."PBLEGALCOSTSUM",       BC."POLEGALCOSTSUM",       BC."ORIGINALBADDATE",       BC."BASECLASSIFYRESULT",       BC."CLASSIFYRESULT",       BC."CLASSIFYTYPE",       BC."CLASSIFYDATE",       BC."CLASSIFYORGID",       BC."RESERVESUM",       BC."EXPECTLOSSSUM",       BC."BAILRATE",       BC."FINISHORG",       BC."FINISHTYPE",       BC."FINISHDATE",       BC."DESCRIBE1",       BC."REINFORCEFLAG",       BC."MANAGEORGID",       BC."MANAGEUSERID",       BC."RECOVERYORGID",       BC."RECOVERYUSERID",       BC."STATORGID",       BC."STATUSERID",       BC."OPERATEORGID",       BC."OPERATEUSERID",       BC."OPERATEDATE",       BC."INPUTORGID",       BC."INPUTUSERID",       BC."INPUTDATE",       BC."UPDATEDATE",       BC."PIGEONHOLEDATE",       BC."REMARK",       BC."FLAG4",       BC."PAYCURRENCY",       BC."PAYDATE",       BC."FLAG5",       BC."CLASSIFYSUM1",       BC."CLASSIFYSUM2",       BC."CLASSIFYSUM3",       BC."CLASSIFYSUM4",       BC."CLASSIFYSUM5",       BC."SHIFTTYPE",       BC."OPERATETYPE",       BC."FUNDSOURCE",       BC."CYCLEFLAG",       BC."CREDITFREEZEFLAG",       BC."SHIFTBALANCE",       BC."CLASSIFYFREQUENCY",       BC."CLASSIFYLEVEL",       BC."VOUCHNEWFLAG",       BC."ACTUALARTIFICIALNO",       BC."DELETEFLAG",       BC."ACCOUNTNO",       BC."LOANACCOUNTNO",       BC."SECONDPAYACCOUNT",       BC."ADJUSTRATETYPE",       BC."ADJUSTRATETERM",       BC."OVERINTTYPE",       BC."RATEADJUSTCYC",       BC."PDGACCOUNTNO",       BC."DEDUCTDATE",       BC."FZANBALANCE",       BC."ACCEPTINTTYPE",       BC."RATIO",       BC."THIRDPARTYADD1",       BC."THIRDPARTYZIP1",       BC."THIRDPARTYADD2",       BC."THIRDPARTYZIP2",       BC."THIRDPARTYADD3",       BC."THIRDPARTYZIP3",       BC."EFFECTAREA",       BC."TERMDATE1",       BC."TERMDATE2",       BC."TERMDATE3",       BC."FIXCYC",       BC."DESCRIBE2",       BC."CANCELSUM",       BC."CANCELINTEREST",       BC."LOANTERM",       BC."PUTOUTORGID",       BC."TEMPSAVEFLAG",       BC."OVERDUEDATE",       BC."OWEINTERESTDATE",       BC."FREEZEFLAG",       BC."APPROVEDATE",       BC."SHIFTSTATUS",       BC."RECOVERYCOGNORGID",       BC."RECOVERYCOGNUSERID",       BC."SHIFTDOCDESCRIBE",       BC."APPLYDATE",       BC."REPAYDATE",       BC."REPAYFUNDSOURCE",       BC."HEAPTYPE",       BC."LOWRISKSUM",       BC."FINISHFLAG",       BC."CONTRACTSTATUS",       BC."AUDITUSERID",       BC."LISTINSUM",       BC."RATEINSTANCE",       BC."TEXTNO",       BC."BSFLIMIT",       BC."BSFRISKSTATE",       BC."HEAPBALANCE",       BC."EXCHANGERATE",       BC."BREAKDATE",       BC."BILLTYPE",       BC."PRODUCTID",       BC."ISDIVIDED",       BC."RELATIVECONTRACTNO",       BC."COOPERATIVECLNO",       BC."COOPERATIVECLTYPE",       BC."GUARANTEESUM",       BC."CREDITSUM",       BC."PAWNSUM",       BC."PAYPRININTVL",       BC."INTMODE",       BC."OTHERAREALOAN2",       BC."PRODUCTID2",       BC."TAXLISTORNOT",       BC."CREDITDEPOSITORYSUM",       BC."OLDMANAGEORGID",       BC."CONTRALPROJECT",       BC."DEFERSTATUS",       BC."LINKTIMES",       BC."CREDITLINESUM",       BC."LISTINLIMITSUM",       BC."INDUSTRYADJUST",       BC."INDUSTRYUPGRADE",       BC."NEWINDUSTRYTYPE",       BC."CONTRALREASON",       BC."RELATIONSHIP1",       BC."RELATIONSHIP2",       BC."RELATIONSHIP3",       BC."ISPOINTCREDIT",       BC."DCPROP",       BC."DCPROP1",       BC."DCPROP2",       BC."ISDEPOSITLOAN"  FROM BUSINESS_CONTRACT BC WHERE SERIALNO NOT IN (SELECT SERIALNO FROM TRANSFER_CONTRACT);   select * from table(dbms_xplan.display());Plan hash value: 410066256 ----------------------------------------------------------------------------------------------| Id  | Operation             | Name                 | Rows  | Bytes | Cost (%CPU)| Time     |----------------------------------------------------------------------------------------------|   0 | SELECT STATEMENT      |                      |   246K|   134M|  6510   (1)| 00:01:19 ||*  1 |  HASH JOIN RIGHT ANTI |                      |   246K|   134M|  6510   (1)| 00:01:19 ||   2 |   INDEX FAST FULL SCAN| PK_TRANSFER_CONTRACT |   304 |  4864 |     2   (0)| 00:00:01 ||   3 |   TABLE ACCESS FULL   | BUSINESS_CONTRACT    |   246K|   130M|  6507   (1)| 00:01:19 |---------------------------------------------------------------------------------------------- Predicate Information (identified by operation id):---------------------------------------------------    1 - access("SERIALNO"="SERIALNO")SQL> select count(*) from TRANSFER_CONTRACT;  COUNT(*)----------       304SQL> select count(*) from BUSINESS_CONTRACT    ;  COUNT(*)----------    246600explain plan for SELECT /*+ leading(BD)  use_nl(BC BD) */ BC.*  FROM BUSINESS_CONTRACT BC WHERE SERIALNO NOT IN (SELECT SERIALNO FROM TRANSFER_CONTRACT BD);Plan hash value: 1040340129 -------------------------------------------------------------------------------------------| Id  | Operation          | Name                 | Rows  | Bytes | Cost (%CPU)| Time     |-------------------------------------------------------------------------------------------|   0 | SELECT STATEMENT   |                      |   246K|   134M|  6520   (1)| 00:01:19 ||   1 |  NESTED LOOPS ANTI |                      |   246K|   134M|  6520   (1)| 00:01:19 ||   2 |   TABLE ACCESS FULL| BUSINESS_CONTRACT    |   246K|   130M|  6507   (1)| 00:01:19 ||*  3 |   INDEX UNIQUE SCAN| PK_TRANSFER_CONTRACT |     1 |    16 |     0   (0)| 00:00:01 |------------------------------------------------------------------------------------------- Predicate Information (identified by operation id):---------------------------------------------------    3 - access("SERIALNO"="SERIALNO")驱动表此时变为BUSINESS_CONTRACT,反联接无法改变驱动表

0 0