使用IN查询,就是慢,所以想办法是使用IN ,那怎么办呢?
我在咨询了大牛之后找到了一个比较好的解决办法,使用表联合查询。
原理:
使用临时表暂存要进行查询的ID
使用表连接查询
具体实现如下:
1、创建ORALCE事务临时表,每次COMMIT后就会删除临时表内容
CREATE GLOBAL TEMPORARY TABLE TNAME (ID VARCHAR2(64)) ON COMMIT DELETE ROWS
2、查询时候将ID插入到临时表中
3、进行表联合查询
SELECT DP.* FROM MO_VIEW_DP DP , (SELECT ID FROM TNAME ) D WHERE DP.ID = D.ID ORDER BY DP.EDITDATE DESC