We have a situation where we need to add 3 additional columns to an existing table that is write-heavy. These columns are meant to store data in edge cases so, most of the time, they will remain NULL.
Alternatively, we could create a separate table with these 3 columns plus a foreign key from the original table. Then we only add rows to this table when the edge case is present. While the main table gets 1000s of records written on it each day, we expect 10s of records/day on this new table. It is, therefore, 2 order of magnitudes less data intensive.
Is storage a consideration? Looking at this and this answers, it seems NULL values take negligible extra space. In that case, should I not bother with creating a separate table for this? Or are there other factors to consider?