MySQL 5.1 में विभाजन केवल पूर्णांक स्तंभों से निपट सकता है (स्रोत ) आप केवल कुछ विभाजन कार्यों गैर-पूर्णांक स्तंभों पर। उदाहरण के लिए:
CREATE TABLE ti (id INT, amount DECIMAL(7,2), tr_date DATE)
ENGINE=INNODB
PARTITION BY HASH( MONTH(tr_date) )
PARTITIONS 6;
आप कुंजी विभाजन का भी उपयोग कर सकते हैं MySQL 5.1 में, जब तक प्राथमिक कुंजी में तालिका के विभाजन फ़ंक्शन के सभी कॉलम शामिल हैं:
CREATE TABLE k1 (
id CHAR(3) NOT NULL PRIMARY KEY,
value int
)
PARTITION BY KEY(id)
PARTITIONS 10;
दूसरी ओर, MySQL 5.5 में, आप श्रेणी स्तंभ विभाजन या सूची कॉलम विभाजन वर्ण-आधारित स्तंभों सहित विभिन्न प्रकार के डेटा प्रकारों पर।
सूची कॉलम उदाहरण:
CREATE TABLE expenses (
expense_date DATE NOT NULL,
category VARCHAR(30),
amount DECIMAL (10,3)
);
ALTER TABLE expenses
PARTITION BY LIST COLUMNS (category)
(
PARTITION p01 VALUES IN ('lodging', 'food'),
PARTITION p02 VALUES IN ('flights', 'ground transportation'),
PARTITION p03 VALUES IN ('leisure', 'customer entertainment'),
PARTITION p04 VALUES IN ('communications'),
PARTITION p05 VALUES IN ('fees')
);
श्रेणी कॉलम उदाहरण:
CREATE TABLE range_test (
code CHAR(3),
value INT
)
PARTITION BY RANGE COLUMNS(code) (
PARTITION p0 VALUES LESS THAN ('MMM'),
PARTITION p1 VALUES LESS THAN ('ZZZ')
);
आगे पढ़ना:
- MySQL 5.1 संदर्भ मैनुअल ::कुंजी विभाजनए>
- MySQL 5.5 पार्टीशन एन्हांसमेंट पर एक गहरी नज़र
- MySQL 5.5 रेफरेंस मैनुअल ::रेंज कॉलम विभाजन
- MySQL 5.5 संदर्भ मैनुअल ::सूची कॉलम विभाजन