मेरे पास एक विशिष्ट प्रश्न है mysql एक तिथि / दिनांक समय कॉलम पर हैश का उपयोग करके उप-पार्टिशनिंग । मैं site_id द्वारा विभाजन किया है, और अब मैं चाहता हूँ कि अब तक subpartitioned (1 से 12), तो विभाजन संख्या समय में तय हो गई है (sp_dec, sp_jan, ...)
वर्तमान कट (कॉलम और अन्य विभाजन) तालिका संरचना:
यदि ईमेल में मौजूद नहीं है, तो 'टेबल' बनाएं (`आईडी` बिल्टीन्ट (20) अनसिनित नल एयूटीएएनसीआरएमेंट,` प्रेषित_डेट ', समय-समय पर नल, `साइट_आईडी` टिनिंट (4) नहीं, प्राथमिक कुंजी (`आईडी`,` साइट_आईड`, `प्रेषित_डेटा`),) इंजन = InnoDB डिफ़ॉल्ट शब्दावली = latin1 भाग द्वारा सूची (साइट_आईडी) हश द्वारा (महीने (प्रेषित_डेट)) (प्रतिभागिता पी 0 मूल्य (1, 3,4) (उपाधि dec0 इंजन = InnoDB, उप-जनन इंजन = इंनोनी = InnoDB, फुटबाइट इंजन = InnoDB, उपशमन Mar0 इंजन = InnoDB, उपक्रम एपीआर0 इंजन = InnoDB, उपक्रम May0 इंजन = InnoDB, उपक्रम जून0 इंजन = InnoDB, उपक्रम जूल 0 इंजन = InnoDB, उपक्रम aug0 इंजन = InnoDB, उपक्रम sep0 इंजन = InnoDB, उपक्रम oct0 इंजन = InnoDB, उपक्रम नव 0 इंजन = InnoDB));
मैंने देखा है कि मुझे छंटाई के लिए MONTH फ़ंक्शन का उपयोग नहीं करना चाहिए। अधिकांश उदाहरण महीनों की समस्याओं को प्रबंधित करने के लिए रेंज का उपयोग करते हैं, लेकिन यह उप-विभाजन में उपलब्ध नहीं है ...
सबसे पहले, मैं दिनांक समय का उपयोग करने में विफल रहा, चूंकि my_date = '2010-09-27' समय के भाग के कारण विफल हुआ या => युक्तियों के बीच उपयोग करने की आवश्यकता है ऐसा करके, छंटाई अब और लागू नहीं है, इसलिए सभी विभाजन का उपयोग किया जाता है!
दूसरे, मैंने दो कॉलम में समय-समय पर भरोसा किया और अब, my_date = '2010-09-27' ठीक काम करता है हालांकि, अंतराल समस्या अभी भी यहाँ है और मेरे विभाजन का उपयोग नहीं करती है।
एक्स्पलेन पार्ट्स का चयन करें 'ईमेल' से भेजा गया है जहां भेजा गया है & gt; = '2010-09-27' और भेजा गया & lt; '2010- 09-28 '; एक्प्लिन पेमेंट्स का चयन करें 'ईमेल से' जहां भेजा गया था '' 2010-09-20 'और' 2010-09-27 ';
नोट: मेरे पास सिर्फ टेस्ट डेटा है, इसलिए मैं अपना दिनांक फ़ील्ड या विभाजन को आसानी से संशोधित कर सकता हूं।
हश या कुंजी का उपयोग करके महीने से कैसे विभाजन कर सकते हैं, अंतराल के साथ भी काम कर रहे हैं?
पढ़ने के लिए धन्यवाद:)
Comments
Post a Comment