এমন কিছু তথ্যের সাথে লিঙ্কিত বিভক্ত যা মূল সমস্যাটি ব্যাখ্যা করে (পারফরম্যান্সের পার্থক্য রয়েছে), তবে এটি বলা সহজ যে একে অপরের চেয়ে সবসময় ভাল always (অন্যথায়, উভয়ই থাকার কোনও কারণ নেই)) এছাড়াও, মাইআইএসএম-তে, ARCH৪ কিলোমিটারের উচ্চতম আকারের জন্য ক্ষেত্র প্রতি নয় - এটি রেকর্ড অনুসারে।
মূলত, ডাটাবেস রেকর্ডে স্ট্রিং সংরক্ষণের 4 টি উপায় রয়েছে:
- নির্দিষ্ট দৈর্ঘ্যের
- সি-স্টাইলের স্ট্রিং (স্ট্রিংয়ের শেষে একটি নুল বা অনুরূপ অক্ষরের সাথে চিহ্নিত)
- পাস্কাল স্টাইলের স্ট্রিং (দৈর্ঘ্য নির্দেশ করার জন্য কয়েকটি বাইট, তারপরে স্ট্রিং)
- পয়েন্টার (স্ট্রিং অন্য কোথাও সংরক্ষণ করুন)
মাইআইএসএম ভ্রচারের জন্য # 3 এর অনুরূপ কিছু ব্যবহার করে এবং টেক্সটের জন্য একটি হাইব্রিড পদ্ধতির যেখানে এটি স্ট্রিংয়ের শুরুটি রেকর্ডে সংরক্ষণ করে, তারপরে বাকী স্ট্রিং অন্য কোথাও রেখে দেয়। ইনোডিবি ভিচারারের মতো, তবে রেকর্ডের বাইরে সম্পূর্ণ পাঠ্য ক্ষেত্র সংরক্ষণ করে।
1 এবং 4 দিয়ে, রেকর্ডের স্টাফগুলি সর্বদা একই দৈর্ঘ্যের, তাই আপনার যদি স্ট্রিং প্রয়োজন না হয় তবে এগুলি ছেড়ে যাওয়া আরও সহজ stuff # 2 এবং # 3 উভয়ই সংক্ষিপ্ত স্ট্রিংগুলির জন্য খুব খারাপ নয় ... # 2 টি চিহ্নিতকারীকে সন্ধান করতে হবে, যখন # 3 এগিয়ে যেতে পারে ... স্ট্রিং দীর্ঘ হওয়ার সাথে সাথে, # 2 এই বিশেষ ব্যবহারের জন্য আরও খারাপ হয় কেস।
আপনার যদি স্ট্রিংটি পড়ার দরকার হয় তবে # 4 ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে घ नीचे না ঘুরে ঘুরে ঘুরে ঘুরে ঘুরে ঘেফমেঘিটি ফেলা পড়ে ফেলা যাবে না!) আপনি যদি রেকর্ডটি পড়তে চান, তবে স্ট্রিংটি # 4 ধীরে ধীরে পড়তে হবে, তারপরে সেই স্ট্রিংটি পড়ুন যা ডিস্কে অন্য কোথাও সঞ্চিত থাকতে পারে, ঠিক কিভাবে ডেটাবেস এটি পরিচালনা করে তার উপর নির্ভর করে। # 1 সর্বদা বেশ সরল থাকে এবং আবার আপনি একই ধরণের সমস্যায় চলে যান যেখানে # 2 এর জন্য স্ট্রিংটি আরও দীর্ঘতর হয়, যখন # 3 খুব ছোট স্ট্রিংয়ের জন্য # 2 এর চেয়ে কিছুটা খারাপ, তবে এটি দীর্ঘ হওয়ার সাথে সাথে আরও ভাল।
তারপরে স্টোরেজ প্রয়োজনীয়তা রয়েছে ... # 1 সর্বদা একটি নির্দিষ্ট দৈর্ঘ্য হয়, তাই বেশিরভাগ স্ট্রিং সর্বোচ্চ দৈর্ঘ্য না হলে এটি ফুলে উঠতে পারে। # 2 এর 1 টি অতিরিক্ত বাইট রয়েছে; # 3 এর সাধারণত 2 দৈর্ঘ্য বাইট থাকে সর্বোচ্চ দৈর্ঘ্য = 255, একটি 64 কে সর্বোচ্চ হলে 4 অতিরিক্ত বাইট। # 4 এর পয়েন্টার দৈর্ঘ্য, আরও # 3 এর নিয়ম রয়েছে।
মাইএসকিউএল 5.1 এর মধ্যে সুনির্দিষ্ট বাস্তবায়নের জন্য, মাইআইএসএম রাষ্ট্রের জন্য দস্তাবেজগুলি :
- সত্যিকারের VARCHAR প্রকারের জন্য সমর্থন; একটি VARCHAR কলাম একটি বা দুটি বাইটে সঞ্চিত দৈর্ঘ্যের সাথে শুরু হয়।
- VARCHAR কলাম সহ টেবিলগুলির স্থির বা গতিশীল সারির দৈর্ঘ্য থাকতে পারে।
- একটি সারণীতে ভ্রচার এবং CHAR কলামগুলির দৈর্ঘ্যের যোগফল 64KB অবধি হতে পারে।
InnoDB এর জন্য থাকাকালীন :
- রেকর্ড শিরোনামের পরিবর্তনশীল দৈর্ঘ্যের অংশে NULL কলামগুলি ইঙ্গিত করার জন্য কিছুটা ভেক্টর রয়েছে। সূচীতে কলামগুলির সংখ্যা যেটি NUL হতে পারে সেগুলি N হয়, বিট ভেক্টর সিইলিং (এন / 8) বাইট দখল করে। (উদাহরণস্বরূপ, যদি 9 থেকে 15 কলামের যে কোনও স্থানে NULL হতে পারে তবে বিট ভেক্টর দুটি বাইট ব্যবহার করে) শিরোনামের পরিবর্তনশীল-দৈর্ঘ্যের অংশেও ভেরিয়েবল-দৈর্ঘ্যের কলামগুলির দৈর্ঘ্য রয়েছে। কলামের সর্বোচ্চ দৈর্ঘ্যের উপর নির্ভর করে প্রতিটি দৈর্ঘ্য এক বা দুটি বাইট নেয় tes যদি সূচকের সমস্ত কলামগুলি শূন্য না হয় এবং একটি নির্দিষ্ট দৈর্ঘ্য থাকে, রেকর্ড শিরোনামের কোনও পরিবর্তনশীল-দৈর্ঘ্যের অংশ নেই।
- প্রতিটি নন-নুল ভেরিয়েবল-দৈর্ঘ্যের ক্ষেত্রের জন্য, রেকর্ড শিরোনামটিতে কলামের দৈর্ঘ্য এক বা দুটি বাইট থাকে। দুটি বাইট কেবল তখনই প্রয়োজন হবে যদি কলামের অংশটি বহির্মুখী পৃষ্ঠাগুলিতে বাহ্যিকভাবে সংরক্ষণ করা হয় বা সর্বোচ্চ দৈর্ঘ্য 255 বাইটের বেশি হয় এবং প্রকৃত দৈর্ঘ্য 127 বাইটের বেশি হয় ex বাহ্যিকভাবে সঞ্চিত কলামের জন্য, দ্বি-বাইট দৈর্ঘ্য অভ্যন্তরীণভাবে সঞ্চিত অংশের দৈর্ঘ্য এবং 20-বাইট পয়েন্টার বাহ্যিকভাবে সঞ্চিত অংশকে নির্দেশ করে। অভ্যন্তরীণ অংশটি 768 বাইট, সুতরাং দৈর্ঘ্য 768 + 20। 20-বাইট পয়েন্টারটি কলামটির আসল দৈর্ঘ্য সঞ্চয় করে।
...
অন্যান্য অনেক কিছুর সাথে যেমন ডেটাবেসগুলি ব্যবহার করার সময়, আপনি যদি নিজের প্রয়োজনগুলির জন্য সর্বোত্তম কী তা নিশ্চিত না হন তবে অনুরূপ ডেটা এবং ব্যবহারের সাথে এটি বেঞ্চমার্ক করার চেষ্টা করুন এবং দেখুন তারা কী আচরণ করে।