मैंने अभी this question के स्वीकृत उत्तर को पढ़ा है, जिसने मुझे इस प्रश्न के साथ छोड़ा था।यदि आपके पास एक ही तालिका में VARCHAR है तो CHAR का उपयोग करने में कोई बात है?
यहाँ है कि इसका जवाब एक उद्धरण है:
"लेकिन जब से तुम MySQL के साथ इस सवाल में चिह्नित है, मैं एक MySQL विशेष टिप उल्लेख करेंगे: आपकी क्वेरी परोक्ष अस्थायी तालिका, उदाहरण के लिए, जबकि छँटाई या GROUP BY
उत्पन्न करता है , VARCHAR
फ़ील्ड को CHAR
में फिक्स्ड-चौड़ाई वाली पंक्तियों के साथ काम करने का लाभ प्राप्त करने के लिए परिवर्तित किया गया है। यदि आप उस डेटा के लिए VARCHAR(255)
फ़ील्ड्स का उपयोग करते हैं, जो लंबे समय तक होने की आवश्यकता नहीं है, तो यह अस्थायी तालिका को बहुत बड़ा बना सकता है। "
जैसा कि मैं इसे समझता हूं, CHAR
का लाभ यह है कि आपको निश्चित चौड़ाई वाली पंक्तियां मिलती हैं, इसलिए VARCHAR
उसी तालिका में गड़बड़ नहीं है? क्या आपके पास CHAR
का उपयोग करने के कोई फायदे हैं जब आपके पास एक ही तालिका में VARCHAR
है?
CHAR
साथ तालिका::
CREATE TABLE address (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
street VARCHAR(100) NOT NULL,
postcode CHAR(8) NOT NULL,
PRIMARY KEY (id)
);
टेबल के बिना CHAR
:
CREATE TABLE address (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
street VARCHAR(100) NOT NULL,
postcode VARCHAR(8) NOT NULL,
PRIMARY KEY (id)
);
CHAR
साथ तालिका CHAR
बिना तालिका के अलावा कोई बेहतर प्रदर्शन करेगा
यहाँ एक उदाहरण है , और यदि हां, तो क्या स्थितियों?
संभावित डुप्लिकेट - http://stackoverflow.com/questions/3408930/does-anyone-have-considerable-proof-that-char-is-faster-than-varchar – ocodo
'char' तालिका कम जगह का उपयोग करेगी, क्योंकि इसमें प्रत्येक रिकॉर्ड में "पोस्टकोड स्ट्रिंग की लंबाई" के लिए अतिरिक्त फ़ील्ड नहीं है। –
@ स्लोमोजो: यह सवाल इस बात के बारे में है कि क्या 'चार्ज' का कोई भी फायदे है और यही वह नहीं है जो मैं पूछ रहा हूं। –