索引上的Sql脚本优化

时间:2017-06-02 15:50:36

标签: sql oracle query-optimization

如果有两张桌子......

-- Temporary storage from file to DB, for further validation usage
RF_TEMP (COL1, COL2, COL3, COL4, COL5, COL6, COL7)  

--Main table which will have already data, and after validation RF_TEMP data 
--will be ported to RF_MAIN
RF_MAIN (COL1, COL2, COL3, COL4, COL5, COL6, COL7)  

我应用了下面给出的索引......

CREATE INDEX  IDX_RF_TEMP ON  RF_TEMP(COL1, COL2, COL3);
CREATE INDEX  IDX_RF_MAIN ON  RF_TEMP(COL1, COL2, COL3);

现在,如果我必须找出RF_TEMP中已存在的RF_MAIN已存在的条目。

所以我使用了以下两个脚本。哪一个会更快?

SELECT a.* 
FROM   RF_TEMP a 
JOIN   RF_MAIN b ON  a.COL1 = b.COL1 
                 AND a.COL2 = b.COL2 
                 AND a.COL3 = b.COL3;

VS

SELECT a.* 
FROM   RF_TEMP a
JOIN   RF_MAIN b ON (a.COL1 || '_' || a.COL2 || '_' || a.COL3) = 
                    (b.COL1 || '_' || b.COL2 || '_' || b.COL3);

0 个答案:

没有答案