Does setting column property to NOT NULL affect table size?
From the MySQL documentation (emphasis mine):


  Declare columns to be NOT NULL if possible. It makes SQL operations faster, by enabling better use of indexes and eliminating overhead for testing whether each value is NULL. You also save some storage space, one bit per column. If you really need NULL values in your tables, use them. Just avoid the default setting that allows NULL values in every column.


So, on the contrary, NOT NULL saves disk space, rather than costing more.