【问题标题】:What is the use of the "Partition" keyword in MySQL?MySQL中的“Partition”关键字有什么用?
【发布时间】:2011-02-03 08:00:25
【问题描述】:

因为我是 MySQL 新手。这个 MySQL 语句中的PARTITION 是什么意思?

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

【问题讨论】:

    标签: mysql create-table database-partitioning


    【解决方案1】:

    分区是一种 预先组织表存储。你可以 说“表格的某些行会消失 在这里,有些人会去那里,还有一些人会去那里 还会去其他地方”。 通常,取决于存储 引擎,效果是传播 表在不同文件上的行或 甚至不同的磁盘。

    发件人:MySQL 5.1 New Features: MySQL Partitions


    您可能也有兴趣寻求有关“horizontal partitioning”的更多信息,以便更好地了解这特别有用的场景。

    【讨论】:

      【解决方案2】:

      分区有助于通过在不同的存储桶之间拆分来组织存储在表中的数据。

      这类似于图书馆如何为不同的主题设置不同的书架部分,而目录/索引卡抽屉通常按字母顺序分开。

      这有两个方面的帮助:

      1. 使用分区更容易管理物理存储。例如,一种策略可能是为每个分区的存储使用单独的磁盘。这通常有助于以平衡的方式将数据分布在多个物理磁盘上。
      2. 数据库可以通过识别需要检索的有限分区来优化数据的检索和交付。分区通常是在牢记物理存储特性的情况下完成的。因此,即使在检索时,数据库引擎通常也只需要从特定分区读取数据,因此可以从物理存储读取整个数据块。

      以下是一些链接,您可以从中获取更多详细信息:

      维基百科文章:http://en.wikipedia.org/wiki/Partition_(database)

      关于分区的 MySQL 文档:http://dev.mysql.com/doc/refman/5.5/en/partitioning.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-16
        • 1970-01-01
        • 2014-07-19
        • 2019-09-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多