Why is VARCHAR2(4000) bad ?

From: Harel <guhar1_at_yahoo.com>
Date: Mon, 21 Jan 2008 12:17:22 -0800 (PST)
Message-ID: <7d76c88b-9a1f-4670-84a8-1f0c16b7d180@e23g2000prf.googlegroups.com>


I have dimensionned a column to VARCHAR2(4000) in my journalisation table. I chose 4000 only because its the maximum allowed for this type, and I dont want to be bothered later by people telling me the column is not large enough. On the average today this column will receive strings of 60 chars, but this could double or triple in the future. So I got blasted by one developper, and by one DBA.

Developper:
- "Its too large, il will impact performance"
DBA
- "When you use the number 4000, you start having all kinds of
problems, like during transfer" (hugh!)"

Questions:
- Since we dont know in advance the size we will really need in the
future, is there a VARCHAR2(*) ?
- Aren't VARCHAR2 supposed to have a first byte to tell the string
lenght ?
- Aren't they using only the space they need ?

  • Why do I have problems if I use 4000 ?
Received on Mon Jan 21 2008 - 14:17:22 CST

Original text of this message