কম্পিউটার টিউটোরিয়াল

MySQL-এ NULL নাকি খালি স্ট্রিং (Empty String) - কোনটি ভালো?

InnoDB-এ NULL খালি স্ট্রিং ('') চেয়ে কম স্পেস নেয়। NULL-এর দৈর্ঘ্য NULL, খালি স্ট্রিং-এর দৈর্ঘ্য ০ (বা ১, COUNT-এর উপর নির্ভর)।

টেস্ট

mysql> CREATE TABLE DemoEmptyAndNULL (Message VARCHAR(100));
mysql> INSERT INTO DemoEmptyAndNULL VALUES(''); -- খালি স্ট্রিং
mysql> SELECT COUNT(Message) FROM DemoEmptyAndNULL; -- আউটপুট: 1
mysql> DELETE FROM DemoEmptyAndNULL WHERE Message = '';
mysql> INSERT INTO DemoEmptyAndNULL VALUES(); -- NULL
mysql> SELECT COUNT(Message) FROM DemoEmptyAndNULL; -- আউটপুট: 0

নিরূপণ

  • COUNT(column) NULL গুনে না (ফলাফল ০)।
  • COUNT(*) সারি গুনে (ফলাফল ১)।
  • InnoDB-এ NULL স্টোরেজের জন্য এক্সট্রা বাইট লাগে না (compact row format-এ)।

    সুপারিশ: সম্ভব হলে NOT NULL ডিফাইন করুন। আপনার অ্যাপ্লিকেশনের লজিক অনুযায়ী NULL বা খালি স্ট্রিং নির্বাচন করুন। NULL এক্সসেপশন থ্রো করে না, কিন্তু খালি স্ট্রিং কিছু কেসে সহজ হ্যান্ডল করা যায়।

  1. MySQL-এ একাধিক কলামে NULL মান খালি স্ট্রিংয়ে রূপান্তর করা (IFNULL/COALESCE)

  2. MySQL-এ একটি স্কিমা থেকে অন্য স্কিমায় ডেটা কপি করা

  3. WhatsApp vs Telegram: কোনটি ভালো?

  4. Xbox One X vs Xbox One S: কোন কনসোল সেরা ভ্যালু দেয়?