ใน InnoDB NULL ใช้พื้นที่น้อยกว่า Empty String และความยาวของ NULL คือ NULL ส่วน Empty String ความยาวคือ 0 (แต่ COUNT() นับเป็น 1)
ทดสอบกับตาราง DemoEmptyAndNULL:
Empty String
mysql> INSERT INTO DemoEmptyAndNULL VALUES(' ');
mysql> SELECT COUNT(message) FROM DemoEmptyAndNULL; -- ผลลัพธ์ 1
NULL
mysql> DELETE FROM DemoEmptyAndNULL WHERE message=' '; mysql> INSERT INTO DemoEmptyAndNULL VALUES(); -- NULL mysql> SELECT COUNT(message) FROM DemoEmptyAndNULL; -- ผลลัพธ์ 0
ตรวจสอบเวอร์ชัน MySQL: 8.0.12
ข้อสรุป: แม้ NULL จะประหยัดพื้นที่และ COUNT() ไม่นับ แต่การอนุญาต NULL อาจทำให้ระบบทำงานเพิ่มและไม่ได้ข้อมูลที่ต้องการ Empty String อาจเหมาะสมกว่าสำหรับบางกรณี แต่ขึ้นอยู่กับการออกแบบ