I have 2 different DBs but with the same data strucutures and indexes, but different set of data (one is empty and the other has some test data in it) - my explain plan for the same query between the 2 Databases is different and so is the Cost of the plan. Why is it so ?
This DB has some data :
Code:
Operation Object Name Rows Bytes Cost Object Node In/Out PStart PStop
SELECT STATEMENT Optimizer Mode=CHOOSE 1 6
NESTED LOOPS 1 57 6
NESTED LOOPS 1 51 5
NESTED LOOPS 1 43 4
TABLE ACCESS FULL CLG_CLASS_USER_MAP 1 13 3
TABLE ACCESS BY INDEX ROWID CLG_USER 1 30 1
INDEX UNIQUE SCAN PK_USER 1
INDEX RANGE SCAN PK_GRADE_USER_MAP 882 6 K 1
TABLE ACCESS BY INDEX ROWID CLG_GRADE 1 6 1
INDEX UNIQUE SCAN PK_GRADE 1
This DB is empty :
Code:
Operation Object Name Rows Bytes Cost Object Node In/Out PStart PStop
SELECT STATEMENT Optimizer Mode=CHOOSE 1 2
NESTED LOOPS 1 113 2
NESTED LOOPS 1 107 1
MERGE JOIN CARTESIAN 1 78 1
TABLE ACCESS BY INDEX ROWID CLG_CLASS_USER_MAP 1 52 1
INDEX SKIP SCAN PK_CLASS_TEACHER_MAP 1
BUFFER SORT 1 26
INDEX FULL SCAN PK_GRADE_USER_MAP 1 26
TABLE ACCESS BY INDEX ROWID CLG_USER 1 29
INDEX UNIQUE SCAN PK_USER 1
TABLE ACCESS BY INDEX ROWID CLG_GRADE 13 78 1
INDEX UNIQUE SCAN PK_GRADE 1
Thanks.