চর বনাম ভারচর
Char এবং Varchar ডাটাবেস সিস্টেমে সাধারণত ব্যবহৃত অক্ষর ডেটা প্রকার যা একই রকম দেখায় যদিও স্টোরেজ প্রয়োজনীয়তার ক্ষেত্রে তাদের মধ্যে পার্থক্য রয়েছে। ডাটাবেস ডিজাইনিং এ, প্রচুর ডাটা টাইপ ব্যবহার করা হয়। তাদের মধ্যে, অক্ষর ডেটা প্রকারগুলি আরও বিশিষ্ট স্থান পায় কারণ সেগুলি সংখ্যার তুলনায় প্রচুর তথ্য সঞ্চয় করতে ব্যবহৃত হয়। ক্যারেক্টার ডাটা টাইপ ব্যবহার করা হয় অক্ষর বা আলফানিউমেরিক ডাটা স্ট্রিং-এ সংরক্ষণ করার জন্য। ডাটাবেস তৈরি করার সময় ডাটাবেস অক্ষর সেটের ধরন সংজ্ঞায়িত করা হয়। আবার, এই ক্যারেক্টার ডাটা টাইপের মধ্যে চর এবং ভারচর হল সাধারণত ব্যবহৃত হয়।এই নিবন্ধটি ব্যাখ্যা করে যে এই দুটি ডেটা প্রকার, char এবং varchar, এবং তাদের মধ্যে পার্থক্য কী৷
চর কি?
চরের ISO সংজ্ঞা হল একটি অক্ষর এবং char ডেটা টাইপ একটি অক্ষর সংরক্ষণ করতে ব্যবহৃত হয়। Char(n) অক্ষরের নির্দিষ্ট আকার n সংরক্ষণ করতে পারে। একটি অক্ষর (n) সর্বোচ্চ 255টি অক্ষর ধারণ করতে পারে এবং একটি স্ট্রিং দৈর্ঘ্য 1 থেকে 8000 পর্যন্ত একটি মান হতে হবে। বর্ণ varchar থেকে পঞ্চাশ শতাংশ দ্রুত এবং তাই, যখন আমরা কাজ করি তখন আমরা আরও ভাল পারফরম্যান্স পেতে পারি চর Char তথ্য সংরক্ষণ করার সময় স্ট্যাটিক মেমরি বরাদ্দ ব্যবহার করে। যখন আমরা একটি পরিচিত নির্দিষ্ট দৈর্ঘ্যের সাথে স্ট্রিং সংরক্ষণ করতে চাই, তখন চর ব্যবহার করা ভাল। উদাহরণ হিসাবে, 'Y' এবং 'N' হিসাবে 'Yes' এবং 'No' সংরক্ষণ করার সময়, আমরা ডেটা টাইপ char ব্যবহার করতে পারি। এবং দশটি অক্ষর সহ একজন ব্যক্তির জাতীয় পরিচয়পত্রের নম্বর সংরক্ষণ করার সময়, আমরা ডেটা টাইপটিকে char (10) হিসাবে ব্যবহার করতে পারি।
ভারচর কি?
নাম থেকেই বোঝা যায়, varchar কে একটি পরিবর্তনশীল অক্ষর বলা হয়।Varchar পরিবর্তনশীল দৈর্ঘ্য আছে যে আলফানিউমেরিক তথ্য সংরক্ষণ করতে ব্যবহার করা হয়. এই ডেটা টাইপের সর্বোচ্চ 4000টি অক্ষর এবং সর্বাধিক স্টোরেজ সাইজ হল 2 GB। ভার্চারের স্টোরেজ সাইজ হল ডাটা প্লাস দুই বাইটের প্রকৃত দৈর্ঘ্য। Varchar char থেকে ধীর এবং এটি ডেটা সংরক্ষণ করার সময় গতিশীল মেমরি বরাদ্দ ব্যবহার করে। নাম, ঠিকানা, বর্ণনা ইত্যাদির মতো ডেটা সংরক্ষণ করার সময় আমরা varchar ব্যবহার করতে পারি। শুধু স্ট্রিংই নয়, নন-স্ট্রিং ধরনের যেমন তারিখের ধরন, “মার্চ 12th 2015”, “2015-03-12”ও সংরক্ষণ করা যেতে পারে। ভার্চার ডেটা টাইপ।
চর এবং ভারচরের মধ্যে পার্থক্য কী?
• যদিও char এবং varchar অক্ষর ডেটা ক্ষেত্র, char একটি নির্দিষ্ট দৈর্ঘ্যের ডেটা ক্ষেত্র এবং varchar একটি পরিবর্তনশীল আকারের ডেটা ক্ষেত্র৷
• Char শুধুমাত্র নির্দিষ্ট আকারের নন-ইউনিকোড স্ট্রিং অক্ষর সংরক্ষণ করতে পারে, কিন্তু varchar পরিবর্তনশীল আকারের স্ট্রিং সংরক্ষণ করতে পারে।
• ঘন ঘন পরিবর্তন হয় এমন ডেটার জন্য varchar এর চেয়ে Char ভালো। এর কারণ ডেটার স্থির-দৈর্ঘ্যের সারিটি ফ্র্যাগমেন্টেশনের প্রবণ নয়৷
• Char শুধুমাত্র নির্দিষ্ট স্থান দখল করবে যা পরিবর্তনশীল ঘোষণা করার সময় সংজ্ঞায়িত করা হয়। কিন্তু varchar ঢোকানো ডেটার উপর ভিত্তি করে স্থান দখল করবে এবং এটি দৈর্ঘ্য উপসর্গ হিসাবে 1 বা 2 বাইট দখল করবে।
• ডেটা 255 অক্ষরের কম হলে 1 বাইট বরাদ্দ করা হয় এবং ডেটা 255 অক্ষরের বেশি হলে 2 বাইট সংরক্ষিত হয়। যদি আমরা 'Y' এবং 'N'-এর একটি পতাকা সংরক্ষণ করতে একটি অক্ষর ব্যবহার করি তবে এটি সংরক্ষণ করতে একটি বাইট ব্যবহার করবে, কিন্তু যখন আমরা varchar ব্যবহার করি তখন দৈর্ঘ্যের উপসর্গ হিসাবে একটি অতিরিক্ত বাইট সহ পতাকা সংরক্ষণ করতে দুটি বাইট লাগবে।
সারাংশ:
চর বনাম ভারচর
Char এবং varchar হল ডাটাবেসে উপলব্ধ সবচেয়ে বেশি ব্যবহৃত অক্ষর ডেটা টাইপ। Char একটি নির্দিষ্ট দৈর্ঘ্যের একটি স্ট্রিং সংরক্ষণ করতে ব্যবহৃত হয় যখন varchar একটি ভিন্ন দৈর্ঘ্যের স্ট্রিংগুলি সংরক্ষণ করতে ব্যবহৃত হয়।ডেটা থেকে আরও ভাল পারফরম্যান্স পাওয়ার জন্য, আপনার ডাটাবেসের টেবিলের ক্ষেত্রের জন্য সঠিক ডেটা প্রকারগুলি বেছে নেওয়া আরও গুরুত্বপূর্ণ। সঠিকভাবে ডেটা সংরক্ষণ করতে পারে এমন ক্ষুদ্রতম ডেটা টাইপগুলি ব্যবহার করা আরও সুবিধাজনক, কারণ তারা মেমরি থেকে কম জায়গা নেয়৷