हमारे पास कुछ इंजीनियर हैं जो रिपोर्ट बनाने के उद्देश्यों के लिए एक सामान्य तालिका संरचना को एक अस्थायी तालिका में समतल करते हैं। कॉलम के रूप में निर्दिष्ट किया गया है TEXT NOT NULL
(मुझे पता है "वे ऐसा क्यों कर रहे हैं?"; चलो मान लेते हैं कि हम इसे संबोधित कर रहे हैं)।
हम MySQL 5.1.48 कम्युनिटी RHEL5 का उपयोग लिनक्स पर InnoDB प्लग-इन 1.0.9 के साथ करते हैं।
MyISAM का उपयोग करते समय हमें कभी भी अधिकतम कॉलम या अधिकतम पंक्ति लंबाई की तालिका आकार सीमा का सामना नहीं करना पड़ा (जांच के दौरान हमने अधिकतम कॉलम सीमा 2598 (2599 वाँ त्रुटि 1117 का कारण बनता है) मारा है। InnoDB के साथ हम सीमाएँ मार रहे हैं। ये सीमाएँ इस सीमा के दौरान प्रकट हो रही हैं। तालिका (कोई डेटा प्रविष्टि नहीं):
ERROR 1118 (42000) पंक्ति 1 पर: पंक्ति आकार बहुत बड़ा। प्रयुक्त तालिका प्रकार के लिए अधिकतम पंक्ति आकार, BLOB की गिनती नहीं, 8126 है। आपको कुछ कॉलम TEXT / BLS में बदलना होगा
मैं निम्नलिखित के उत्तर की तलाश में हूं:
बहुत सारे v / v / b / t कॉलम का उपयोग करते समय पंक्ति आकार की पैंक्रियालिटी के निर्धारण के लिए विस्तृत सूत्र क्या है? मैंने
varchar(N)
स्तंभों (जहाँ N 1 और 512 के बीच है), UTF8 charset (* 3) का उपयोग करते हुए कुछ अलग-अलग फॉर्मूले आज़माए हैं , और जब तक विफलता नहीं होगी, तब तक कई स्तंभों का उपयोग करेंगे। कंबोज में से कोई भी मैंने उन मूल्यों को देने की कोशिश की है जो वास्तविक परीक्षा परिणामों के साथ मेल खाते हैं।पंक्ति आकार की गणना करते समय मुझे क्या अन्य 'ओवरहेड' पर विचार करना चाहिए?
जब मैं varchar (109) कॉलम से varchar (110) कॉलम के साथ टेबल बनाने से जाता हूं, तो त्रुटि संदेश 8126 से 65535 तक क्यों बदल जाता है?