alter session set statistics_level=all; select t1.* from t1,t2 where t1.id=t2.id and t1.id<3; select * from table(dbms_xplan.display_cursor(null,null,'ALLSTATS LAST')); SQL> select * from table(dbms_xplan.display_cursor(null,null,'ALLSTATS LAST')); PLAN_TABLE_OUTPUT -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SQL_ID 4uuk2mdgh036f, child number 0 ------------------------------------- select t1.* from t1,t2 where t1.id=t2.id and t1.id<3 Plan hash value: 1106359941 -------------------------------------------------------------------------------------------------- | Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers | -------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | | 131K|00:00:00.34 | 37856 | | 1 | NESTED LOOPS | | 1 | 2 | 131K|00:00:00.34 | 37856 | | 2 | TABLE ACCESS BY INDEX ROWID| T1 | 1 | 3 | 131K|00:00:00.11 | 20376 | |* 3 | INDEX RANGE SCAN | T1_IDX1 | 1 | 3 | 131K|00:00:00.04 | 9392 | |* 4 | INDEX RANGE SCAN | T2_IDX1 | 131K| 1 | 131K|00:00:00.17 | 17480 | -------------------------------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 3 - access("T1"."ID"<3) 4 - access("T1"."ID"="T2"."ID") filter("T2"."ID"<3) 已选择23行。 SQL> select count(*) from t1 where t1.id<3; COUNT(*) ---------- 131072 A-Rows 真实返回的记录数 E-Rows Oracle预估的返回记录数