ORACLE 采用三种访问表中记录的方式:
(1)全表扫描(TABLE ACCESS FULL)
(2)索引扫描
1.索引唯一扫描(Index unique scan)
2.索引范围扫描(INDEX RANGE SCAN)
3.索引全扫描(Index full scan)
4.索引快速扫描(Index fast full scan)
(3)通过ROWID访问表(TABLE ACCESS BY USER ROWID)
1.全表扫描:
SELECT ROWID, T.WAYBILL_NO
FROM TT_EXPIRED_DUTY_NEW T
WHERE T.REPORT_DT >= DATE '2017-01-06'
AND T.REPORT_DT < DATE '2017-05-01'
执行计划:
2.索引扫描:
SELECT ROWID, T.WAYBILL_NO
FROM TT_EXPIRED_DUTY_NEW T
WHERE T.REPORT_DT >= DATE '2017-01-06'
AND T.REPORT_DT < DATE '2017-05-01'
AND T.Waybill_No='1111111'
执行计划:
3.ROWID扫描:
SELECT ROWID, T.WAYBILL_NO
FROM TT_EXPIRED_DUTY_NEW T
WHERE T.REPORT_DT >= DATE '2017-01-06'
AND T.REPORT_DT < DATE '2017-05-01'
AND ROWID = 'AAAjkuAAEAAC/FTAAA'
执行计划: