এসকিউএল বারচার কলাম দৈর্ঘ্যের জন্য সেরা অনুশীলন [বন্ধ]


288

প্রতিবার একটি নতুন এসকিউএল টেবিল সেটআপ করা হয় বা varcharবিদ্যমান সারণীতে একটি নতুন কলাম যুক্ত করা হয়, আমি একটি জিনিস ভাবছি: এর সেরা মানটি কী length

সুতরাং, ধরুন, আপনার কাছে একটি কলাম nameরয়েছে টাইপযুক্ত varchar। সুতরাং, আপনি দৈর্ঘ্য চয়ন করতে হবে। আমি কোনও নাম> ২০ টি চরিত্রের কথা ভাবতে পারি না, তবে আপনি কখনই জানতে পারবেন না। তবে ২০ টি ব্যবহার করার পরিবর্তে, আমি সর্বদা পরবর্তী 2 ^ n নম্বর পর্যন্ত গোল করি। এই ক্ষেত্রে, আমি দৈর্ঘ্য হিসাবে 32 বেছে নেব। আমি এটি করি কারণ কম্পিউটার বিজ্ঞানের দৃষ্টিকোণ থেকে, একটি সংখ্যা 2 evenme n অন্যান্য সংখ্যার তুলনায় আমার কাছে বেশি দেখায় এবং আমি কেবল ধরে নিচ্ছি যে নীচের আর্কিটেকচারটি এই সংখ্যাগুলি অন্যদের চেয়ে কিছুটা ভাল পরিচালনা করতে পারে।

অন্যদিকে, উদাহরণস্বরূপ, এমএসএসকিউএল সার্ভার, যখন আপনি কোনও ভার্চর কলাম তৈরি করতে বেছে নেন তখন ডিফল্ট দৈর্ঘ্যের মান 50 তে সেট করে। এটি আমাকে এটি সম্পর্কে চিন্তা করতে বাধ্য করে। কেন 50? এটি কি কেবল একটি এলোমেলো সংখ্যা, বা গড় কলাম দৈর্ঘ্যের উপর ভিত্তি করে, বা কী?

এটি হতে পারে - বা সম্ভবত হয় - বিভিন্ন এসকিউএল সার্ভার বাস্তবায়ন (যেমন মাইএসকিউএল, এমএসএসকিউএল, পোস্টগ্রিস, ...) এর বিভিন্ন সেরা কলাম দৈর্ঘ্যের মান রয়েছে।

উত্তর:


238

কোন DBMS আমি জানি কোন "অপ্টিমাইজেশান" একটি করতে হবে যে হয়েছে VARCHARএকটি সঙ্গে 2^nদৈর্ঘ্য একটি সঙ্গে এক বেশী ভালো সঞ্চালন maxদৈর্ঘ্য যে 2 একটি ক্ষমতা নয়।

আমার মনে হয় প্রারম্ভিক এসকিউএল সার্ভার সংস্করণগুলি VARCHARউচ্চতর দৈর্ঘ্যের চেয়ে 255 দৈর্ঘ্যের সাথে আলাদাভাবে আচরণ করেছে । আমি এখনও জানি না এটি এখনও আছে কিনা।

প্রায় সমস্ত ডিবিএমএসের জন্য, প্রকৃত সঞ্চয়স্থানটি কেবলমাত্র আপনি নির্দিষ্ট করা maxদৈর্ঘ্যের দ্বারা নয় তবে এটির মধ্যে নির্দিষ্ট অক্ষরের সংখ্যা দ্বারা নির্ধারিত হয় । সুতরাং স্টোরেজ দৃষ্টিকোণ থেকে (এবং সম্ভবত একটি পারফরম্যান্সও এক), আপনি কোনও কলামকে হিসাবে ঘোষণা করেন কিনা তাতে কোনও তাত্পর্য হয় VARCHAR(100)না VARCHAR(500)

আপনার maxকোনও VARCHARকলামের জন্য প্রযুক্তিগত / শারীরিক জিনিস না দিয়ে এক ধরণের বাধা (বা ব্যবসার নিয়ম) হিসাবে দেওয়া দৈর্ঘ্যটি দেখতে হবে ।

পোস্টগ্রেএসকিউএল-র জন্য সর্বোত্তম সেটআপ হ'ল textদৈর্ঘ্যের সীমাবদ্ধতা ছাড়াই ব্যবহার করা এবং এটি CHECK CONSTRAINTআপনার ব্যবসায়ের যা প্রয়োজন তার অক্ষরের সংখ্যা সীমাবদ্ধ করে।

যদি সেই প্রয়োজনীয়তা পরিবর্তিত হয়, চেক সীমাবদ্ধতা পরিবর্তন টেবিল পরিবর্তন করার চেয়ে অনেক দ্রুত (কারণ টেবিলটি পুনরায় লেখার প্রয়োজন নেই)

একই ওরাকল এবং অন্যদের জন্য প্রয়োগ করা যেতে পারে - ওরাকল এ এটি VARCHAR(4000)পরিবর্তে হবে text

আমি জানি না যে এসকিউএল সার্ভারে VARCHAR(max)এবং উদাহরণস্বরূপ কোনও শারীরিক স্টোরেজ পার্থক্য রয়েছে কিনা VARCHAR(500)varchar(max)তুলনায় তুলনামূলকভাবে ব্যবহার করার সময় কার্যত প্রভাব রয়েছে varchar(8000)

এই লিঙ্কটি দেখুন (একটি মন্তব্য হিসাবে এরউইন ব্র্যান্ডস্টেটর পোস্ট করেছেন)

2013-09-22 সম্পাদনা করুন

বিগাউন এর মন্তব্য সম্পর্কে:

Postgres ইন সংস্করণ সামনে 9.2 (যা আমি যখন প্রাথমিক উত্তর লিখেছে উপলব্ধ ছিল না) কলাম সংজ্ঞা পরিবর্তন করেনি পুরো টেবিল পুনর্লিখন, যেমন দেখতে এখানে । 9.2 যেহেতু এটি আর কেস নয় এবং একটি দ্রুত পরীক্ষা নিশ্চিত করেছে যে 1.2 মিলিয়ন সারি সহ একটি টেবিলের জন্য কলামের আকার বাড়ানো মাত্র 0.5 সেকেন্ডে নিয়েছে।

ওরাকল-এর ক্ষেত্রে এটিও সত্য বলে মনে হয়, বড় টেবিলের varcharকলামটি পরিবর্তন করতে যে সময় লাগে তা বিচার করে । তবে আমি এর জন্য কোনও রেফারেন্স পাইনি।

মাইএসকিউএল-এর জন্য ম্যানুয়ালটি " বেশিরভাগ ক্ষেত্রে, ALTER TABLEমূল টেবিলটির অস্থায়ী অনুলিপি তৈরি করে " বলে। এবং আমার নিজের পরীক্ষাগুলি এটি নিশ্চিত করে: ALTER TABLEএকটি কলামের আকার বাড়াতে 1.2 মিলিয়ন সারি (পোস্টগ্রিসের সাথে আমার পরীক্ষার মতো) একটি টেবিলে একটি চালানো 1.5 মিনিট সময় নিয়েছিল। মাইএসকিউএলে আপনি কোনও কলামে অক্ষরের সংখ্যা সীমাবদ্ধ করতে একটি চেক সীমাবদ্ধতা ব্যবহার করতে "ওয়ার্কআরআন্ড" ব্যবহার করতে পারবেন না

এসকিউএল সার্ভারের জন্য আমি এ সম্পর্কে একটি পরিষ্কার বিবৃতি খুঁজে পাইনি তবে varcharকলামের আকার বাড়াতে কার্যকর করার সময় (উপরে থেকে আবার 1.2 মিলিয়ন সারি টেবিল) ইঙ্গিত দেয় যে কোনও পুনর্লিখন ঘটে না

2017-01-24 সম্পাদনা করুন

মনে হয় এসকিউএল সার্ভার সম্পর্কে আমি (কমপক্ষে আংশিক) ভুল ছিলাম। অ্যারন বারট্রান্ডের এই উত্তরটি দেখুন যা দেখায় যে একটি nvarcharবা varcharকলামগুলির ঘোষিত দৈর্ঘ্য পারফরম্যান্সের জন্য একটি বিশাল পার্থক্য করে।


34
প্রকৃতপক্ষে, আপনি যেমন কলামের মধ্যে 1 টি অক্ষর রেখে দিচ্ছেন, এমনকি VARCHAR (255) এবং VARCHAR (500) এর মধ্যে পার্থক্য রয়েছে। সারিটির শেষে সংযুক্ত মানটি একটি পূর্ণসংখ্যা হবে যা সঞ্চিত ডেটার আসল দৈর্ঘ্য কী তা সঞ্চয় করে। ভর্চার (255) এর ক্ষেত্রে এটি 1 বাইট পূর্ণসংখ্যা হবে। ভর্চার (500) এর ক্ষেত্রে এটি 2 বাইট হবে। এটি একটি সামান্য পার্থক্য, তবে এটি সম্পর্কে সচেতন হওয়া উচিত। এটি কার্য সম্পাদনকে কীভাবে প্রভাবিত করতে পারে তা আমার কাছে কোনও ডেটা নেই, তবে আমি ধারণা করি এটি এত ছোট যে এটি গবেষণা করার মতো নয়।
এনবি

1
@ এনবি: এসকিউএল সার্ভারের "যাদু" 255 মানের জন্য আমি এটি উল্লেখ করছি। স্পষ্টতার জন্য ধন্যবাদ।
a_horse_with_no_name

4
@ এনবি আপনি কোন আরডিবিএমএসের কথা উল্লেখ করছেন? SQL সার্ভার? কর্মক্ষমতা উপর একটি প্রভাব আছে। [এন] ভর্চার (সর্বোচ্চ) [এন] ভর্চার (এন) এর চেয়ে কিছুটা ধীর গতি সম্পন্ন করে। আমাকে সম্প্রতি এই সাইটে উল্লেখ করা হয়েছিল । পোস্টগ্র্রেএসকিউএল-র ক্ষেত্রে আমি যা জানি তার ক্ষেত্রেও এটি একই নয়।
এরউইন ব্র্যান্ডসটেটার

@ এরউইন ব্র্যান্ডসটেটার: লিঙ্কটির জন্য ধন্যবাদ। দেখে মনে varchar(max)হচ্ছে সম্ভবত ওরাকল এর মতোCLOB
a_horse_with_no_name

1
পরিবর্তনের দৈর্ঘ্যের পরিবর্তনটি টেবিলটি পুনরায় লিখবে না। এটি কেবল পুরো টেবিলের বিপরীতে সীমাবদ্ধতার দৈর্ঘ্যটি চেক কনট্রন্ট হিসাবে ঠিক পরীক্ষা করে। যদি আপনি দৈর্ঘ্য বৃদ্ধি করেন তবে কিছু করার নেই, কেবলমাত্র পরবর্তী সন্নিবেশ বা আপডেটগুলি বড় দৈর্ঘ্য গ্রহণ করবে। যদি আপনি দৈর্ঘ্য হ্রাস করেন এবং সমস্ত সারি নতুন ছোট সীমাবদ্ধতা অতিক্রম করে, পরবর্তী gোকানো বা আপডেটগুলি কেবলমাত্র নতুন দৈর্ঘ্যটি লেখার অনুমতি দেওয়ার জন্য Pg কোনও আরও পদক্ষেপ নেয় না।
মনিয়েরো

69

VARCHAR(255)এবং VARCHAR(2)নিতে ঠিক ডিস্কে স্থান একই পরিমাণ! সুতরাং এটি সীমাবদ্ধ করার একমাত্র কারণ হ'ল যদি এটির ছোট হওয়ার জন্য আপনার নির্দিষ্ট প্রয়োজন হয়। অন্যথায় তাদের সমস্ত 255 করুন।

বিশেষত, বাছাই করার সময়, বৃহত্তর কলামটি আরও বেশি জায়গা নেয়, তাই যদি এটির কার্য সম্পাদনকে ব্যথা করে তবে আপনার এটি সম্পর্কে উদ্বিগ্ন হওয়া এবং তাদের আরও ছোট করা দরকার। তবে যদি আপনি সেই টেবিলটি থেকে কেবল 1 সারিটি নির্বাচন করেন, তবে আপনি কেবল সেগুলি 255 তৈরি করতে পারেন এবং এটি কোনও বিষয় নয়।

দেখুন: মাইএসকিউএল এর জন্য সর্বোত্তম বারচার আকারগুলি কী কী?


7
কেন না এগুলো সব VARCHAR(MAX)? কোনও ডাটাবেসকে মডেলিং করার সময় স্থান কেবলমাত্র বিবেচ্য নয়। আপনার যে ডোমেনটি মডেলিং করছে সেগুলি ডেটা ধরণের এবং মাপগুলি চালিত করে।
ওডে

6
@Oded VARCHAR(MAX)একই হিসাবে নয় varchar(255)অথবা varchar(65535)varchar সর্বোচ্চ হল এক ধরনের - textডাটাটাইপ। এবং আপনার বক্তব্য - যদি তিনি জানতেন যে "ডোমেন তিনি মডেলিং করছেন" তিনি কী এই প্রশ্ন জিজ্ঞাসা করবেন না। স্পষ্টতই তিনি জানেন না যে তার ডেটা কী পরিমাণ বাড়বে এবং আমি তাকে আশ্বস্ত করছি যে এটি পুরো আকারের আকারে তৈরি করা কোনওরকম ব্যথা করে না।
এরিয়েল

4
@ অ্যারিল: সূচকেও বিবেচনার জন্য বিষয়গুলি এবং সীমাবদ্ধতা রয়েছে। (a,b,c,d)চারটি কলাম যখন থাকে তখন আপনার কোনও সূচক থাকতে পারে না VARCHAR(255)
ypercubeᵀᴹ

@ টাইপব্যুব এটি সত্য, যদি আপনার কলামগুলিতে একটি সূচি প্রয়োজন হয় তবে আপনাকে আকারগুলি সম্পর্কে আরও সতর্ক হওয়া দরকার। তবে বেশিরভাগ কলামগুলির একটি সূচকের প্রয়োজন হয় না তাই বেশিরভাগ সময় আপনার এটি নিয়ে চিন্তা করার দরকার নেই।
এরিয়েল

আমি মনে করি যদি আমরা সঠিক মানটি জানি তবে আমি চরটি ব্যবহার করতে পছন্দ করি। এদিকে যদি এখনও ভবিষ্যদ্বাণী করা হয় তবে আমি বার্চারটি ব্যবহার করি এবং 255 রাখি কারণ এটি গতিশীল মেমরির বরাদ্দ তাই আপনি যে আকারটি নেওয়া হবে তা নিয়ে চিন্তা করবেন না
ফরিস রায়হান

54

যখনই আমি একটি নতুন এসকিউএল টেবিল সেট আপ করি তখন আমি 2 more n আরও "এমনকি" হওয়া সম্পর্কেও একইভাবে অনুভব করি ... তবে এখানে উত্তরগুলি সংক্ষেপে বলা যায়, কেবল বর্ণচর্চা (2 ^ n) সংজ্ঞায়িত করে স্টোরেজ স্পেসে কোনও উল্লেখযোগ্য প্রভাব নেই is বা এমনকি ভারচর (ম্যাক্স)।

এটি বলেছে, একটি উচ্চ বার্চার () সীমা নির্ধারণের সময় আপনার এখনও স্টোরেজ এবং কার্য সম্পাদনের উপর সম্ভাব্য প্রভাব সম্পর্কে ধারণা করা উচিত। উদাহরণস্বরূপ, আসুন ধরা যাক আপনি পূর্ণ-পাঠ্য ইনডেক্সিংয়ের সাথে পণ্যের বিবরণ ধরে রাখতে একটি ভারচর (MAX) কলাম তৈরি করেছেন। যদি 99% এর বর্ণনাগুলি কেবল 500 অক্ষর দীর্ঘ হয় এবং তারপরে হঠাৎ আপনি এমন কাউকে পেয়ে যান যিনি উইকিপিডিয়া নিবন্ধগুলির সাথে বর্ণিত বিবরণগুলি প্রতিস্থাপন করেন, আপনি অপ্রত্যাশিত উল্লেখযোগ্য স্টোরেজ এবং পারফরম্যান্সের হিটগুলি লক্ষ্য করতে পারেন।

বিল কারভিনের কাছ থেকে অন্য একটি বিষয় বিবেচনা করা উচিত :

পারফরম্যান্সের একটি সম্ভাব্য প্রভাব রয়েছে: মাইএসকিউএলে, অস্থায়ী সারণী এবং স্মৃতি সারণীগুলি একটি সর্বাধিক দৈর্ঘ্যের প্যাডযুক্ত একটি স্থির-দৈর্ঘ্যের কলাম হিসাবে একটি ভ্রচার কলাম সংরক্ষণ করে। আপনি যদি সর্বাধিক আকারের প্রয়োজনের তুলনায় ভ্রচার কলামগুলি আরও বড় করে ডিজাইন করেন তবে আপনার নিজের চেয়ে বেশি মেমোরি ব্যবহার করবেন। এটি ক্যাশে দক্ষতা, বাছাইয়ের গতি ইত্যাদিকে প্রভাবিত করে

মূলত, সামান্য বড় আকারে কেবল যুক্তিসঙ্গত ব্যবসায়ের বাধা এবং ত্রুটি নিয়ে আসুন। @ মাওদাইনাউইন যেমন উল্লেখ করেছেন, যুক্তরাজ্যে পারিবারিক নামগুলি সাধারণতঃ 1-35 টির মধ্যে থাকে। যদি আপনি এটিকে ভারচর ()৪) বানানোর সিদ্ধান্ত নেন তবে আপনি সত্যিই কোনও ক্ষতি করতে যাচ্ছেন না ... আপনি যদি এই ছেলের পরিবারের নামটি oring 666 অক্ষর পর্যন্ত দীর্ঘ বলে মনে না করেন তবে এটি সংরক্ষণ করছেন । সেক্ষেত্রে সম্ভবত বর্ণচর (1028) আরও বোধগম্য।

এবং যদি এটি সহায়ক হয় তবে ভ্যারচার 2 ^ 5 থেকে 2 ^ 10 এর মধ্যে যা ভরাট রয়েছে তা দেখতে দেখতে এটি এখানে:

varchar(32)     Lorem ipsum dolor sit amet amet.

varchar(64)     Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donecie

varchar(128)    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donecie
                vestibulum massa. Nullam dignissim elementum molestie. Vehiculas

varchar(256)    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donecie
                vestibulum massa. Nullam dignissim elementum molestie. Vehiculas
                velit metus, sit amet tristique purus condimentum eleifend. Quis
                que mollis magna vel massa malesuada bibendum. Proinde tincidunt

varchar(512)    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donecie
                vestibulum massa. Nullam dignissim elementum molestie. Vehiculas
                velit metus, sit amet tristique purus condimentum eleifend. Quis
                que mollis magna vel massa malesuada bibendum. Proinde tincidunt
                dolor tellus, sit amet porta neque varius vitae. Seduse molestie
                lacus id lacinia tempus. Vestibulum accumsan facilisis lorem, et
                mollis diam pretium gravida. In facilisis vitae tortor id vulput
                ate. Proin ornare arcu in sollicitudin pharetra. Crasti molestie

varchar(1024)   Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donecie
                vestibulum massa. Nullam dignissim elementum molestie. Vehiculas
                velit metus, sit amet tristique purus condimentum eleifend. Quis
                que mollis magna vel massa malesuada bibendum. Proinde tincidunt
                dolor tellus, sit amet porta neque varius vitae. Seduse molestie
                lacus id lacinia tempus. Vestibulum accumsan facilisis lorem, et
                mollis diam pretium gravida. In facilisis vitae tortor id vulput
                ate. Proin ornare arcu in sollicitudin pharetra. Crasti molestie
                dapibus leo lobortis eleifend. Vivamus vitae diam turpis. Vivamu
                nec tristique magna, vel tincidunt diam. Maecenas elementum semi
                quam. In ut est porttitor, sagittis nulla id, fermentum turpist.
                Curabitur pretium nibh a imperdiet cursus. Sed at vulputate este
                proin fermentum pretium justo, ac malesuada eros et Pellentesque
                vulputate hendrerit molestie. Aenean imperdiet a enim at finibus
                fusce ut ullamcorper risus, a cursus massa. Nunc non dapibus vel
                Lorem ipsum dolor sit amet, consectetur Praesent ut ultrices sit

31

অন্তর্নিহিত ডোমেনে সংজ্ঞায়িত হিসাবে ডেটার জন্য সঠিক যেটি সবচেয়ে ভাল মান।

কিছু ডোমেনের VARCHAR(10)জন্য, Nameবৈশিষ্ট্যের জন্য সঠিক , অন্য ডোমেনগুলির জন্য VARCHAR(255)সেরা পছন্দ হতে পারে।


15

A_horse_with_no_name এর উত্তরে যুক্ত করা আপনি নীচের আগ্রহগুলি খুঁজে পেতে পারেন ...

আপনি কোনও কলামটি VARCHAR (100) বা VACHAR (500) হিসাবে ঘোষণা করুন তাতে কোনও পার্থক্য নেই।

-- try to create a table with max varchar length
drop table if exists foo;
create table foo(name varchar(65535) not null)engine=innodb;

MySQL Database Error: Row size too large.

-- try to create a table with max varchar length - 2 bytes for the length
drop table if exists foo;
create table foo(name varchar(65533) not null)engine=innodb;

Executed Successfully

-- try to create a table with max varchar length with nullable field
drop table if exists foo;
create table foo(name varchar(65533))engine=innodb;

MySQL Database Error: Row size too large.

-- try to create a table with max varchar length with nullable field
drop table if exists foo;
create table foo(name varchar(65532))engine=innodb;

Executed Successfully

দৈর্ঘ্য বাইট (গুলি) এবং নমনীয় বাইটকে ভুলে যাবেন না:

name varchar(100) not null 1 বাইট (দৈর্ঘ্য) + 100 অক্ষর (ল্যাটিন 1) পর্যন্ত হবে

name varchar(500) not null 2 বাইট (দৈর্ঘ্য) + 500 অক্ষর (ল্যাটিন 1) পর্যন্ত হবে

name varchar(65533) not null 2 বাইট (দৈর্ঘ্য) + 65533 অক্ষর (ল্যাটিন 1) পর্যন্ত হবে

name varchar(65532) 2 বাইট (দৈর্ঘ্য) + 65532 অক্ষর (ল্যাটিন 1) + 1 নাল বাইট হবে

আশাকরি এটা সাহায্য করবে :)


আপনি মাইএসকিউএল ব্যবহার করছেন, এবং প্রশ্ন এমএসএসকিউএল সম্পর্কে রয়েছে
বোগদান মার্ট

6

সর্বদা আপনার ব্যবসায়িক ডোমেন বিশেষজ্ঞের সাথে চেক করুন। যদি এটি আপনি হন তবে একটি শিল্পের মান অনুসন্ধান করুন। যদি উদাহরণস্বরূপ, প্রশ্নে থাকা ডোমেনটি কোনও প্রাকৃতিক ব্যক্তির পারিবারিক নাম (উপাধি) হয় তবে কোনও যুক্তরাজ্যের ব্যবসায়ের জন্য আমি যুক্তরাজ্য গভটভাল্কের ডেটা স্ট্যান্ডার্ড ক্যাটালগে ব্যক্তির তথ্যের জন্য যেতে পারি এবং জানতে পারি যে একটি পরিবারের নাম 1 থেকে 35 বর্ণের মধ্যে থাকবে ।


3

আমি ইদানীং এটি পরীক্ষা করে দেখিনি, তবে আমি ওরাকল এর সাথে অতীতে জানি যে জেডিবিসি চালক কোয়েরি এক্সিকিউশন চলাকালীন পুনরায় ফলাফল সেটটি ধরে রাখতে মেমরির একটি অংশ সংরক্ষণ করবে। মেমরি খণ্ডের আকার কলাম সংজ্ঞা এবং আনার আকারের উপর নির্ভর করে। সুতরাং ভারচার 2 কলামগুলির দৈর্ঘ্যটি কতটা মেমরি সংরক্ষিত তা প্রভাবিত করে। এটি আমার জন্য বছর আগে গুরুতর পারফরম্যান্স সমস্যার কারণ হিসাবে আমরা সর্বদা ভারচার 2 (4000) (তখন সর্বাধিক) ব্যবহার করি এবং আবর্জনা সংগ্রহের তুলনায় এটি আজকের তুলনায় অনেক কম দক্ষ ছিল।


-2

এক অর্থে আপনি ঠিকই বলেছেন, যদিও 2 ^ 8 টি অক্ষরের চেয়ে কম কিছু এখনও তথ্যের বাইট হিসাবে নিবন্ধিত হবে।

যদি আপনি সেই বেস চরিত্রটির জন্য অ্যাকাউন্ট করেন যা একই পরিমাণের জায়গা ব্যয় করে কোনও VARCHAR <255 এর সাথে কিছু ফেলে দেয়।

255 হ'ল একটি ভাল বেসলাইন সংজ্ঞা হ'ল যদি আপনি বিশেষত অতিরিক্ত ইনপুটটি কমাতে চান না।


" যদিও 2 ^ 8 টি অক্ষরের চেয়ে কম কিছু এখনও তথ্যের বাইট হিসাবে নিবন্ধিত হবে " - ভুল। ডাটাবেসটি কেবলমাত্র ভ্রচারের ধরণের হিসাবে সরবরাহ করা অনেকগুলি অক্ষর সংরক্ষণ করে। কোন স্থান "নিবন্ধিত" করা হয়, সংরক্ষিত অথবা যখন সক্রিয়া প্রকাশক একটি কলাম।
a_horse_with_no_name
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.