मैं डेटाटाइम कॉलम द्वारा एक MySQL तालिका को विभाजित करना चाहता हूं। एक दिन एक partition.The तालिका स्क्रिप्ट बनाने के इस तरह है:डेटाटाइम कॉलम द्वारा तालिका को कैसे विभाजित करें?
CREATE TABLE raw_log_2011_4 (
id bigint(20) NOT NULL AUTO_INCREMENT,
logid char(16) NOT NULL,
tid char(16) NOT NULL,
reporterip char(46) DEFAULT NULL,
ftime datetime DEFAULT NULL,
KEY id (id)
) ENGINE=InnoDB AUTO_INCREMENT=286802795 DEFAULT CHARSET=utf8
PARTITION BY hash (day(ftime)) partitions 31;
लेकिन जब मैं कुछ day.It partition.The चयन बयान पता नहीं लगा सके की डेटा का चयन इस तरह है:
explain partitions select * from raw_log_2011_4 where day(ftime) = 30;
जब मैं एक और कथन का उपयोग करता हूं, तो यह विभाजन का पता लगा सकता है, लेकिन मैंने कुछ दिन के डेटा का चयन नहीं किया है।
explain partitions select * from raw_log_2011_4 where ftime = '2011-03-30';
क्या कोई मुझे बताता है कि मैं कुछ दिन का डेटा कैसे चुन सकता हूं और विभाजन का उपयोग कर सकता हूं। धन्यवाद!
'^ 1' क्या होगा यदि तालिका में वर्षों की संख्या अज्ञात है, चाहे 'हैश (वर्ष (ftime)) का हिस्सा काम करेगा? –