The table has 5 columns, 3 columns are of int data type and other 2 columns are expected to store around 5MB to 10MB of string data.
Table
------
ID int
ItemValue int
Grade int
PrimaryDesc nvarchar(max) -- will hold big data
SecondaryDesc nvarchar(max) -- will hold big data
Now my question is, Is it okay to leave the table as is and let it grow? When I am fetching data, I will fetch only required fields (data) through ADO.Net (i.e, when user required short data only ID, ItemValue and Grade column values will be fetched and big data columns will be queried only when detailed view is requested by the user)
Is there any performance problem expected having all columns in a single table? Do you think moving PrimaryDesc and SecondaryDesc to a separate table and storing its primary key in original table will help in any ways?
Thanks in advance.
I dont think moving last 2 columns to another table will improve the performace.As long as you have proper indexes on more frequently accessing columns like ID,ItemValue etc it wont be any performance issue.
So I suggest just keep the table structure as it is and query it.But make sure you have proper indexes.
May be ID would be primary key (clustered inddex)
ItemValue – Non-clustered
Grade – Non-clustered
This is for just one scenario.May be you can create composit indexes also based on how you query the table.