0
我有一个很慢的查询,我想优化它。我为连接的字段创建了索引。我的查询是这样的:在这个领域如何优化我的oracle查询?
SELECT DISTINCT
--a.row_id FK_SERVIZIO,
--CLI_UNICO.FK_CLIENTE FK_CLIENTE,
CLI.CDC_FISCALE CDC_FISCALE,
--com.descrizione
--CASE WHEN conc.COMUNE IS NOT NULL THEN 1 ELSE 0 END FL_OFFERTABILITA_GAS
CASE WHEN exists (select 1 from STG.T_STG_NBA_DT_S_ASSET_G a where a.owner_accnt_id=CLI.IDC_CLIENTE_CRM_KEY and status_cd in ('ATTIVATO'))
THEN 'SI' ELSE 'NO' END FLC_COMUNE_TERR
FROM STG.T_STG_NBA_DT_S_ASSET_G A,
STG.T_STG_PSP_DT_LISTA_COMUNI_TERR terr,
STG.T_STG_NBA_DT_R2DG_COMUNI_G com,
STG.T_STG_NBA_DT_S_ADDR_PER_G ind_for,
--STG.V_DML_NBA_SITO q,
ODS.T_ODS_CRM_DT_CLIENTI_CRM CLI,--ODS.V_ODS_NBA_DT_ASS_CLI_CLIUNICO CLI_UNICO,
STG.T_STG_NBA_DT_S_ORG_EXT_G cforn
--STG.T_STG_NBA_DT_R2DG_CONCESS_G conc,
WHERE
--CLI.IDC_CLIENTE_CRM_KEY=A.OWNER_ACCNT_ID
terr.LDS_DESCRIZIONE_COMUNE=com.DESCRIZIONE
AND com.CODICE_ISTAT=ind_for.x_cod_istat
AND ind_for.row_id = cforn.PR_ADDR_ID
and cforn.row_id=A.serv_acct_id
我把指数:
terr.LDS_DESCRIZIONE_COMUNE,com.DESCRIZIONE,com.CODICE_ISTAT,ind_for.x_cod_istat,ind_for.row_id,cforn.PR_ADDR_ID,cforn.row_id,A.serv_acct_id,a.owner_accnt_id,CLI.IDC_CLIENTE_CRM_KEY, a.status_cd.
任何提示我请? 我可以使用PARALLEL?怎么样? 感谢
6张桌子,仅有4连接看起来腥给我! – 2014-12-03 10:22:46
有5加入,还有: 在( 'ATTIVATO')) – user3589887 2014-12-03 10:29:26
WHERE (1)terr.LDS_DESCRIZIONE_COMUNE = com.DESCRIZIONE 选择1从STG.T_STG_NBA_DT_S_ASSET_G a其中a.owner_accnt_id = CLI.IDC_CLIENTE_CRM_KEY和status_cd( 2)AND com.CODICE_ISTAT = ind_for.x_cod_istat (3)AND ind_for.row_id = cforn.PR_ADDR_ID (4)and cforn.row_id = A.serv_acct_id (5)??? – 2014-12-03 10:39:25