বিট বনাম বুলিয়ান কলাম


12

বিট ক্ষেত্রগুলি কেবলমাত্র ডেটা বাইনারি উপস্থাপনা এবং কিছুটা "অদ্ভুত" উপায়ে অনুসন্ধান করা দরকার Give

এটি কি বুলিয়ান মানের জন্য একটি বিট ক্ষেত্র ব্যবহার করে আসলে কোনও সুবিধা দেয়? আমি যা দেখতে পাচ্ছি তা থেকে মনে হয় স্থানটিই কেবল আসল উপকার।

উত্তর:


14

ব্যক্তিগতভাবে, আমি BOOLEANএকটি বুলিয়ান মান জন্য ব্যবহার করতে হবে । তবে মাইএসকিউএলে থাকা সাবধানতাটি [এসসিআর]BOOLEAN এর এক প্রতিশব্দ হিসাবে মনে রাখবেন ।TINYINT(1)

এর অবশ্যই এটির অর্থ হল আপনি যদি সতর্ক না হন তবে আপনার 0 বা 1 বাদে অন্য মান থাকতে পারে। এই সমস্যা এড়ানোর জন্য, আপনি alias লেখা ব্যবহার করতে পারেন TRUEএবং FALSEযখন যথাক্রমে 1 এবং 0 তে ঢোকাতে ও আপডেট করার প্রণালী ডেটা, সেই মানচিত্র হিসাবে।

সম্পূর্ণ হওয়ার জন্য, 5.0.3 এর আগে, BITএটিও একটি প্রতিশব্দ ছিল TINYINT(1)


1

যদি আমি এটি সঠিকভাবে বুঝতে পারি, বুলেট সর্বদা কলাম প্রতি 1 বাইট ব্যবহার করে তবে বিআইটি (এন) প্রদত্ত সংখ্যক বিট ধরে রাখতে কয়েকটি বাইট ব্যবহার করবে।

সুতরাং বিট কিছুটা জায়গা বাঁচাতে পারে, তবে আপনার এসকিউএল-এর সাথে কোয়েরি করা দরকার হলে বুলেইন কাজ করা আরও সহজ।

যদি আমার কাছে এমন একটি পতাকা থাকে যা কোনও অ্যাপ্লিকেশন দ্বারা বোঝা যায় এবং অ্যাপ্লিকেশনটিতে একটি একক ক্ষেত্রে সঞ্চয় করা থাকে, তবে আমি বিআইটি (এন) ব্যবহার করার জন্য খুঁজছি। তবে যদি আমার কাছে কলামগুলি থাকে যেগুলি এসকিউএল থেকে জিজ্ঞাসা করা দরকার, আমি বুলিয়ান ব্যবহার করব।

একটি উদাহরণ হ'ল একটি অ্যাপ্লিকেশন যা কোনও সপ্তাহে কোন ইভেন্ট চলবে তা রেকর্ড করার জন্য পতাকা ব্যবহার করেছিল, প্রতি সপ্তাহে কিছুটা সহ, ইভেন্টটি যদি নির্দিষ্ট সপ্তাহে চলে তবে 1 হবে। যদি ডাটাবেসে ডেটাটি কোয়েরি করা সহজ করা যায়, তবে এটি দুটি টেবিল জুড়ে "নরমালাইজড" হয়ে উঠবে, তবে যদি ডাটাটি কেবল ডাটাবেসে সংরক্ষণের প্রয়োজন হয়, তবে অ্যাপ্লিকেশনটি যে ফর্মটি ব্যবহার করে সেটিকে এটি সর্বোত্তমভাবে রাখা হয় is ভিতরে.

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.