এগুলির পার্থক্য সম্পর্কে আমি যা জানি varchar
, তার সীমাবদ্ধতা রয়েছে, এবং text
তা নয়। ডকুমেন্টেশন এই সম্পর্কে উল্লেখ নেই।
আসলেই কি এটাই পার্থক্য? পারফরম্যান্স বা ইত্যাদি সম্পর্কে কোন বিবেচনা নেই?
এগুলির পার্থক্য সম্পর্কে আমি যা জানি varchar
, তার সীমাবদ্ধতা রয়েছে, এবং text
তা নয়। ডকুমেন্টেশন এই সম্পর্কে উল্লেখ নেই।
আসলেই কি এটাই পার্থক্য? পারফরম্যান্স বা ইত্যাদি সম্পর্কে কোন বিবেচনা নেই?
উত্তর:
এর ব্যাকগ্রাউন্ডটি হ'ল: পুরাতন পোস্টগ্রিস সিস্টেম পোস্টকিউএল ভাষা ব্যবহার করে এবং একটি ডেটা টাইপ ব্যবহার করে text
(কারণ কেউ মনে করে যে পাঠ্য সংরক্ষণ করে এমন প্রকারের জন্য এটি একটি ভাল নাম)। তারপরে পোস্টগ্র্রেসকে এসকিউএলকে ভাষা হিসাবে ব্যবহার করতে রূপান্তর করা হয়েছিল। এসকিউএল সামঞ্জস্যতা অর্জন করতে, text
প্রকারটির নাম পরিবর্তনের পরিবর্তে একটি নতুন প্রকার যুক্ত varchar
করা হয়েছিল। তবে উভয় প্রকার অভ্যন্তরীণভাবে একই সি রুটিন ব্যবহার করে।
এখন, কিছুটা ডিগ্রি এবং কিছু জায়গায়, text
ডিফল্ট টাইপ হিসাবে হার্ডকোড করা হয়, অন্য কোনও কিছু থেকে প্রাপ্ত না হলে ক্ষেত্রে। এছাড়াও, বেশিরভাগ ফাংশন কেবল text
যুক্তি গ্রহণ বা ফিরে আসা হিসাবে উপলব্ধ text
। দুটি ধরণের বাইনারি সামঞ্জস্যপূর্ণ, তাই ingালাই একটি তুচ্ছ পার্স-টাইম অপারেশন। তবে ব্যবহারটি text
এখনও সামগ্রিকভাবে আরও প্রাকৃতিক।
তবে এই সূক্ষ্ম বিষয়গুলি বাদ দিয়ে কোনও পার্থক্য নেই। যেটি আপনার কাছে সুন্দর দেখায় ব্যবহার করুন। ;-)
দেখুন এই একই প্রশ্ন । সংক্ষিপ্তসারটি হ'ল কোনও পার্থক্য নেই, তবে সর্বোচ্চ দৈর্ঘ্য যেমন varchar(n)
সাধারণত আপনার পক্ষে হয় না তা নির্দিষ্ট করা কারণ এটি আরও বেশি জায়গা ব্যবহার করে তবে কার্যকারিতা উন্নত করে না।
http://www.postgresql.org/docs/8.4/interactive/datatype-character.html
character varying(n), varchar(n) variable-length with limit
text variable unlimited length
ঘোষিত দৈর্ঘ্য ছাড়াই পাঠ্য। এই দুই ধরণের মধ্যে কোনও পারফরম্যান্সের পার্থক্য নেই।