' + ', which means empty and consumes storage space.
NULL, it means that even this is not.
NULL, you can approximate the variable is not assigned (defined variable, but not used, the variable does not point to the specific storage space, therefore, in theory does not consume storage space), at the same time, it can theoretically not output, because the variable itself has no content (some languages can force the null output, is because it internally does the implicit type conversion, for example, NULL is automatically converted to null).
Empty "", you can approximate to the empty string (defined variables, and the assignment is empty, the null is meaning, need to consume storage space), can be output, the display is empty.
Not using null can improve indexing efficiency because NULL is also treated as a generic data node in the tree index structure.
Mysql varchar Sets the default value to null and NULL difference