因为我是MySQL的新手。 PARTITION
在这个MySQL语句中的含义是什么?
CREATE TABLE employees (
id INT NOT NULL,
fname VARCHAR(30),
lname VARCHAR(30),
hired DATE NOT NULL DEFAULT '1970-01-01',
separated DATE NOT NULL DEFAULT '9999-12-31',
job_code INT NOT NULL,
store_id INT NOT NULL
)
PARTITION BY RANGE (store_id) (
PARTITION p0 VALUES LESS THAN (6),
PARTITION p1 VALUES LESS THAN (11),
PARTITION p2 VALUES LESS THAN (16),
PARTITION p3 VALUES LESS THAN (21)
);
答案 0 :(得分:3)
分区是一种方式 预先组织的表存储。您可以 说“桌子的一些行会去 在这里,有些人会去那里,还有其他人 会去其他地方“。 通常,取决于存储 引擎,效果就是传播了 表的行在不同的文件或 甚至不同的磁盘。
来自:MySQL 5.1 New Features: MySQL Partitions
您可能还有兴趣寻求有关“horizontal partitioning”的更多信息,以便更好地了解特别有用的情况。
答案 1 :(得分:2)
分区有助于通过拆分不同的存储桶来组织存储在表中的数据。
这类似于图书馆如何为不同科目设置独立的书架部分,而目录/索引卡抽屉通常按字母顺序分隔。
这有两个方面:
以下是一些链接,您可以从中获得更多详细信息:
维基百科文章:http://en.wikipedia.org/wiki/Partition_(database)
关于分区的MySQL文档:http://dev.mysql.com/doc/refman/5.5/en/partitioning.html