Mysql – Allow Null Columns vs separate 1-to-many tables

database-designMySQLnull

Perhaps similar questions have been asked, but this is re having null columns.

I am too inexperienced to determine what would be the sounder way to approach the design of this database. Is it better to have 5 or 6 additional columns on the one table that could reference IDs of other tables, or have 5 or 6 extra tables that provide a link if there is a need for them.

My inclination is that fewer null entries are better, but then joining the tables when accessing the database could have a higher cost?

Best Answer

Allow null is a better approach. It gives us significant performance benefits with significant effort shortage to accomplish the task. A separate table will cost more JOIN. To query such a data is/can be certainly slower, than to query single table