উত্তর না হয় ।
আপনি varchar
যদি এড়াতে পারেন তবে কোনও দৈর্ঘ্যের সংশোধক যুক্ত করবেন না । বেশিরভাগ সময়, আপনার যাইহোক আসলে দৈর্ঘ্যের সীমাবদ্ধতার প্রয়োজন হয় না। text
সমস্ত অক্ষর ডেটা জন্য শুধু ব্যবহার করুন। আপনার varchar
যদি আরডিবিএমএসের সাথে সামঞ্জস্যপূর্ণ থাকতে হয় তবে এটি (কোনও দৈর্ঘ্যের সংশোধক নয়) করুন text
।
পারফরমেন্স প্রায় একই হয় - text
হয় একটু বিরল পরিস্থিতিতে দ্রুত , এবং আপনি দৈর্ঘ্যের উপর চেক জন্য চক্র সংরক্ষণ।
আসলে আপনি যদি প্রয়োজন সর্বাধিক দৈর্ঘ্য জোরদার করা, এখনও ব্যবহার text
এবং যোগ চেক বাধ্যতা যে জন্য:
ALTER TABLE tbl ADD CONSTRAINT tbl_col_len CHECK (length(col) < 51);
আপনি টেবিল সংজ্ঞা এবং সমস্ত নির্ভরশীল অবজেক্ট (ভিউ, ফাংশন, বিদেশী কী, ...) নিয়ে ঝামেলা ছাড়াই যে কোনও সময় এই জাতীয় প্রতিবন্ধকতা সংশোধন বা বাদ দিতে পারেন (
দৈর্ঘ্য সংশোধকগুলির সাহায্যে আপনি কেবল এই বা এই বা এই জাতীয় সমস্যার মধ্যে চলে যান ...
PostgreSQL 9.1 ব্যথা কিছুটা কমিয়ে আনতে একটি নতুন বৈশিষ্ট্য চালু করেছে। আমি এখানে প্রকাশের নোটগুলি উদ্ধৃত করেছি :
ALTER TABLE ... SET DATA TYPE
উপযুক্ত ক্ষেত্রে টেবিলের পুনর্লিখনগুলি এড়াতে মঞ্জুরি দিন (নোয়া মিস, রবার্ট হাস)
উদাহরণস্বরূপ, varchar
কলামটিকে পাঠ্যে রূপান্তর করতে আর সারণীর পুনর্লিখনের প্রয়োজন নেই। তবে, একটি varchar
কলামে দৈর্ঘ্যের সীমাবদ্ধতা বাড়ানোর জন্য
এখনও একটি টেবিল পুনর্লিখনের প্রয়োজন।