Alter table DDL does a FTS
We are trying to modify some columns from BYTE semantics to CHAR semantics in a UTF8 database and noticed that for some tables the ALTER TABLE ... modify (col varchar2(nn CHAR)) statement is very fast and for others it does a full table scan and takes a very long time. Verified this using sql_trace/tkprof and looking at the trace file.
What determines whether the data in the table is scanned vs a quick dictionary update? It also doesn't appear to make a difference whether the column(s) being modified are part of a primary/unique key constraint.
Comments? Thanks