This question already has an answer here:

There are many ways to get rid of nulls in tables, and I have heard of various reasons to get rid of them, but can anyone show me some real numbers as to how your database might perform differently using different models?

One Table:

A    B    C
1    La   NULL
2    Moo  7
3    Ba   9
4    La   NULL

OR These two tables:

A    B
1    La
2    Moo
3    Ba
4    La

X    C
2    7
3    9

Which is better?

(X is Foreign key to A)

The second set of tables would remove the nulls from the first design. When would be better to use each design?

This second pair of tables would achieve the same result, however it would be more flexible by naming the column as a cell:

First model (A, Arms Legs):

A    Arms    Legs
1    NULL    NULL
2    NULL    2
3    4       2
4    NULL    NULL
5    1       NULL

Second Model (XYZ):

X     Y     Z
2     Legs  2
3     Arms  4
3     Legs  2
5     Arms  1

The second one would remove nulls, but at what compromise?

marked as duplicate by Paul White, Kin, Shawn Melton, Max Vernon, RolandoMySQLDBA Aug 10 '15 at 16:12

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.