Neil Knight
Neil Knight

Reputation: 48547

Adding a new column to Table which contains live data

I have a large table consisting of over 60 millions records and I would like to add 2 new columns for data migration purposes. There are indexes on the table and some of them are large. So, by me adding the 2 new columns to the table, will I run the risk of slowing down the database whilst it attempts to add them and maybe time-out? Or will it just work?

I know that if I try and rearrange the columns SQL Server will ask me to drop and re-create the table, so I definately don't want this. Is this something everyone is challenged with?

Upvotes: 0

Views: 437

Answers (1)

gbn
gbn

Reputation: 432261

We've had the same problem with column and index changes on larger tables.

I would simply add the columns using ALTER TABLE. The column order, though nice, is irrelevant.

If the columns are NULLable them time is reasonable. if you want to add a default value and make them NOT NULL, then this is more work obviously. However, I would consider adding as NOT NULL, then setting to a value, then changing to NOT NULL to make it 3 steps you can do at different times. We do this to reduce the time window we need, even if the whole process tales longer

Upvotes: 1

Related Questions