আমি এসএসএমএসের আশেপাশে তাকাচ্ছিলাম এবং লক্ষ্য করেছি আমার INT
কলামগুলির "আকার" 4 বাইট (প্রত্যাশিত) কিন্তু আমার BIT
কলামগুলি পুরো বাইট ছিল দেখে আমি কিছুটা হতবাক হয়ে গিয়েছিলাম।
আমি যা দেখছিলাম তা কি ভুল বুঝেছি?
আমি এসএসএমএসের আশেপাশে তাকাচ্ছিলাম এবং লক্ষ্য করেছি আমার INT
কলামগুলির "আকার" 4 বাইট (প্রত্যাশিত) কিন্তু আমার BIT
কলামগুলি পুরো বাইট ছিল দেখে আমি কিছুটা হতবাক হয়ে গিয়েছিলাম।
আমি যা দেখছিলাম তা কি ভুল বুঝেছি?
উত্তর:
আপনি সারণীতে কতগুলি বিট কলাম সংজ্ঞায়িত করেছেন? আমি এটি এমএসডিএন-তে পেয়েছি, এটিতে বলা হয়েছে যে 8 বা তার চেয়ে কম বিট কলামগুলি একটি বাইট হিসাবে সঞ্চিত রয়েছে।
হ্যাঁ.
যদি আপনার কেবল bit
টেবিলে একটি কলাম থাকে তবে স্টোরেজটি ব্যবহার করে byte
তবে 8 bit
টি কলাম একই বাইটে সংরক্ষণ করা যায় সুতরাং পরবর্তী 7 টি সেই ক্ষেত্রে "মুক্ত"।
কলাম স্টোরেজগুলির জন্য NULL_BITMAP
1 বিটও রয়েছে (আবার পরবর্তী বাইট পর্যন্ত গোল করা)। তথ্য পাতায় এই একটি রয়েছে bit
সব কলামের জন্য হোক বা না হোক তারা অনুমতি নির্বিশেষে NULL
(সঙ্গে ব্যতিক্রম nullable কলাম একটি মেটাডেটা পরে যোগ কেবল পরিবর্তন ALTER TABLE
যেখানে সারি এখনো আপডেট হয়নি)