ডেটাবেসগুলি কর্মক্ষমতা - গতি এবং স্টোরেজ হ্রাস করার সাথে তীব্রভাবে উদ্বিগ্ন । কম্পিউটার জগতের বেশিরভাগ অংশে, আপনার চরিত্রের স্ট্রিংয়ে কয়টি অক্ষর রয়েছে তা নিয়ে আপনি বিরক্ত হবেন না; এটি এক হতে পারে, এটি কোনও বিশ্বকোষের পুরো বিষয়বস্তু হতে পারে; এটি সব একটি স্ট্রিং। আসলে, অনেকগুলি ভাষা এমনকি এটি স্ট্রিং বা একটি সংখ্যা কিনা তা নিয়ে আপনাকে বিরক্ত করে না।
কম্পিউটারগুলি দ্রুততর হয়ে ও আরও মেমরি লাভ করার সাথে সাথে লোকেরা তাদের ডাটাবেসে আরও ডেটা রাখে এবং ফ্যানসিয়ার অনুসন্ধান করে। একটি ডাটাবেসের জন্য সিপিইউ এবং মেমরিটি আজকে ঠিক ততটাই সীমাবদ্ধ রয়েছে যেমনগুলি K৪ কেবি মূল মেমরি এবং 10 এমবি হার্ড ড্রাইভের ( মেইনফ্রেম কম্পিউটারগুলিতে) ছিল।
একটি নির্দিষ্ট সংখ্যক বাইটের সাথে ভেরিয়েবল দৈর্ঘ্যের সংখ্যার চেয়ে ডিল করা অনেক সহজ। 10,000 বাইট 1000,000 এর চেয়ে বেশি ডিল করা সহজ। সুতরাং আপনার ডাটাবেসটি আপনাকে এটি একটি ক্লু দেওয়ার জন্য চায় যাতে এটি আপনাকে মাইক্রোসেকেন্ডে ডেটা টেরাবাইটের ফলাফল থেকে একটি গিগাবাইটের ফলাফল দিতে পারে। আপনি যদি আপনার ডাটাবেসটিকে খুব শক্তভাবে ব্যবহার না করে থাকেন তবে আপনার প্রদত্ত গতির প্রয়োজন হবে না এবং অহেতুক প্রশ্নে বিরক্ত হবেন। তবে আপনার যদি পারফরম্যান্সের প্রয়োজন হয় তবে আপনি এটিকে কিছু ইঙ্গিত দিতে খুশি হবেন।
অন্যান্য উত্তরে যেমন উল্লেখ করা আছে, ব্যবহার করুন char
যদি এটি সর্বদা নির্দিষ্ট সংখ্যক অক্ষর ব্যবহার করে varchar
তবে দৈর্ঘ্য বিভিন্ন রকম হতে পারে তবে এটি খুব বেশি বড় না হয় (আমার ধারণা সর্বাধিক ডিবিই একে একে আকার হিসাবে char
বা text
আকারের উপর নির্ভর করে) এবং text
যদি এটি হয় যে কোনও দৈর্ঘ্য হতে পারে। আপনার SQL চেষ্টা ব্যবহার করতে পারেন text
কলাম, এটা ভাল হতে এটা একরকম সংক্ষেপ এবং এটা করা হতে পারে char
বা ছোট varchar
কলাম এছাড়াও, তারপর না where
's এবং order by
' যে s। অবশ্যই, যদি কেবলমাত্র পারফরম্যান্স আপনার পক্ষে গুরুত্বপূর্ণ।
text
অসমর্থিত হয়েছে। ব্যবহারের বিবেচনাগুলি রয়েছে যা ডেটা কোথায় সংরক্ষণ করা হয় এবং কীভাবে এটি অ্যাক্সেস পায় তা সম্পর্কিত।