Hi Friends ,

I have a fundamental question on how Oracle internally handles columns with varchar2(20) datatype and varchar2(2000) datatype .

according to theory , oracle uses same amount of space in column with varchar2(20) and varchar2(2000) when identical data is entered.

eg:

How does test tables test_tab_A differ from test_tab_B

create table test_tab_A
( name varchar2(20)
place varchar2(20)
thing varchar2(20)
animal varchar2(20)
.....
...... ) ;

create table test_tab_B
( name varchar2(2000)
place varchar2(2000)
thing varchar2(2000)
animal varchar2(2000)
.....
...... ) ;


could anybody please suggest,
1) which is a better design practice ,
2) are there any limitations in designing tables in test_tab_B type.
3) how does Oracle internally handle varchar2(20) and varchar2(2000) column regarding performance.

Thanks in advance .