When designing a data warehouse in SQL Server what is the best setting for the varchar data type?
I am designing a data warehouse database to be implemented in SQL Server. There are a number of variable length character fields for which I intend to use the varchar field type. On previous data warehouse implementations in Oracle, I frequently set the length for the varchar fields higher than the current data length. I did this so that if the source changes to a longer field in the future, it will not be necessary to update the database. Is there any reason not to do this for a SQL Server database? One example would be, if the actual data field is now up to 10 characters, but I want to make the field type varchar (25) in case the source changes to a larger field in the future. Will this have any negative performance implications?

Software/Hardware used:
ASKED: April 8, 2008  11:14 PM
UPDATED: April 9, 2008  12:18 AM

Answer Wiki:
There shouldn't be any negative performance issues as long as you don't go nuts. Just make sure that you don't go over your max record length of 8060 bytes. If you set all the columns to 1000 characters you could end up with some problems. Are these your DIMs for FACTs? How many rows are we talking about here? I've never found that a slightly larger field is a problem.
Last Wiki Answer Submitted:  April 9, 2008  12:18 am  by  Denny Cherry   64,520 pts.
All Answer Wiki Contributors:  Denny Cherry   64,520 pts.
To see all answers submitted to the Answer Wiki: View Answer History.


Discuss This Question:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _


 

Check out my SQL Server blog “SQL Server with Mr Denny” for more SQL Server information.

 64,520 pts.