Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

चार कॉलम के आधार पर एक MySQL तालिका को कैसे विभाजित करें?

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')
);

आगे पढ़ना:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एकाधिक होस्ट पर PHP साइट के सत्रों को संभालने का सबसे अच्छा तरीका क्या है?

  2. एकाधिक LIMITS के साथ MySQL क्वेरी

  3. Mysql में फ़ोन नंबर खोज रहे हैं

  4. mysql_data_seek pdo समकक्ष

  5. PHP में ip2long () MySQL में INET_ATON () फ़ंक्शन के बराबर है?