আপনি প্রায়শই দেখতে পান ডেটাবেস ক্ষেত্রগুলিতে 255 অক্ষর বিস্তৃত থাকে, চিরাচরিত / historicতিহাসিক কারণ কী? আমি ধারণা করছি এটি পেজিং / মেমরি সীমা এবং কার্য সম্পাদনের সাথে করার কিছু কিন্তু 255 এবং 256 এর মধ্যে পার্থক্য আমাকে সর্বদা বিভ্রান্ত করেছে।
varchar(255)
এটি একটি সক্ষমতা বা মাত্রা বিবেচনা করে সূচক নয় , কেন 255 কে 256 এর চেয়ে বেশি পছন্দ করা হচ্ছে? কোনও বাইট কোনও উদ্দেশ্যে (টার্মিনেটর বা নাল বা কোনও কিছুর জন্য) সংরক্ষিত?
সম্ভবত বর্ণাচর (0) একটি বাজে কথা (শূন্য ক্ষমতা আছে)? কোন ক্ষেত্রে 2 ^ 8 স্থান অবশ্যই 256 হওয়া উচিত?
কর্মক্ষমতা সুবিধা প্রদান করে এমন আরও কিছু কি রয়েছে? উদাহরণস্বরূপ বর্ণাচর (512) বর্ণচর (511) বা বর্ণচর (510) এর চেয়ে কম পারফর্মেন্ট কী?
পুরানো এবং নতুন সমস্ত সম্পর্কের ডাটাবেসের জন্য এই মানটি কি একই?
দাবি অস্বীকার - আমি একজন বিকাশকারী ডিবিএ নই, আমি ক্ষেত্রের আকার এবং প্রকারগুলি ব্যবহার করি যা আমার ব্যবসায়ের যুক্তি অনুসারে যেখানে এটি পরিচিত, তবে আমি এই অগ্রাধিকারের historicতিহাসিক কারণটি জানতে চাই , এমনকি এটি আর প্রাসঙ্গিক না হলেও (তবেও আরও যদি এটি এখনও প্রাসঙ্গিক হয়)।
সম্পাদনা:
উত্তরের জন্য ধন্যবাদ, কিছু ধারণা আছে বলে মনে হচ্ছে যে একটি বাইট আকার সংরক্ষণের জন্য ব্যবহৃত হয়, তবে এটি আমার মনের মধ্যে বিষয়টি স্থির করে দেয় না।
যদি মেটা ডেটা (স্ট্রিং দৈর্ঘ্য) একই স্বতন্ত্র মেমরি / ডিস্কে সঞ্চয় করা থাকে তবে তা কিছুটা অর্থবোধ করে। মেটাডাটা 1 বাইট এবং স্ট্রিং ডেটা 255 বাইট, একে অপরের খুব সুন্দরভাবে উপযুক্ত হবে, এবং 256 সংক্ষিপ্ত বাইট স্টোরেজ, যা সম্ভবত পরিষ্কার এবং পরিপাটি ফিট হবে।
তবে ... যদি মেটাটাটা (স্ট্রিংয়ের দৈর্ঘ্য) প্রকৃত স্ট্রিং ডেটা (সম্ভবত একটি মাস্টার টেবিলের মধ্যে) থেকে আলাদাভাবে সংরক্ষণ করা হয়, তবে স্ট্রিংয়ের ডেটার দৈর্ঘ্যকে একটি বাইট দ্বারা সীমাবদ্ধ করার জন্য, কেবলমাত্র 1 বাইট পূর্ণসংখ্যা সংরক্ষণ করা সহজ because মেটাডাটা কিছুটা বিজোড় মনে হচ্ছে।
উভয় ক্ষেত্রেই এটি একটি সূক্ষ্মতা বলে মনে হবে যা সম্ভবত ডিবি বাস্তবায়নের উপর নির্ভর করে। 255 ব্যবহারের অনুশীলনটি বেশ বিস্তৃত বলে মনে হচ্ছে, তাই শুরুতে কোথাও কেউ অবশ্যই এর পক্ষে একটি ভাল কেস নিয়ে যুক্তি দেখিয়েছেন, কেউ কি মনে করতে পারে যে কেসটি ছিল / কী ছিল? প্রোগ্রামাররা কোনও কারণ ছাড়াই কোনও নতুন অনুশীলন গ্রহণ করবে না এবং এটি অবশ্যই একবারে নতুন হওয়া উচিত।