Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

mysql 创建分区表

作者:淺墨   发布日期:2025-10-26   浏览:12

-- 创建分区表的示例代码

-- 1. 按范围分区 (RANGE)
CREATE TABLE sales (
    id INT NOT NULL,
    sale_date DATE NOT NULL,
    amount DECIMAL(10, 2)
)
PARTITION BY RANGE (YEAR(sale_date)) (
    PARTITION p0 VALUES LESS THAN (2020),
    PARTITION p1 VALUES LESS THAN (2021),
    PARTITION p2 VALUES LESS THAN (2022),
    PARTITION p3 VALUES LESS THAN MAXVALUE
);

-- 解释: 
-- 这个表按销售日期的年份进行分区。每个分区包含特定年份范围内的数据。
-- 例如,p0 包含 2020 年之前的数据,p1 包含 2020 年的数据,依此类推。

-- 2. 按列表分区 (LIST)
CREATE TABLE employees (
    id INT NOT NULL,
    department_id INT NOT NULL,
    name VARCHAR(50)
)
PARTITION BY LIST (department_id) (
    PARTITION p_sales VALUES IN (1, 2, 3),
    PARTITION p_marketing VALUES IN (4, 5),
    PARTITION p_engineering VALUES IN (6, 7, 8)
);

-- 解释:
-- 这个表按部门 ID 进行分区。每个分区包含特定部门 ID 的数据。
-- 例如,p_sales 包含部门 ID 为 1、2 和 3 的员工,p_marketing 包含部门 ID 为 4 和 5 的员工。

-- 3. 按哈希分区 (HASH)
CREATE TABLE orders (
    order_id INT NOT NULL,
    customer_id INT NOT NULL,
    order_date DATE NOT NULL
)
PARTITION BY HASH (YEAR(order_date))
PARTITIONS 4;

-- 解释:
-- 这个表按订单日期的年份进行哈希分区。数据会被均匀地分布到 4 个分区中。
-- 哈希分区适用于需要均匀分布数据的场景。

-- 4. 按键值分区 (KEY)
CREATE TABLE customers (
    customer_id INT NOT NULL,
    name VARCHAR(50),
    email VARCHAR(100)
)
PARTITION BY KEY (customer_id)
PARTITIONS 8;

-- 解释:
-- 这个表按客户 ID 进行键值分区。数据会被均匀地分布到 8 个分区中。
-- 键值分区类似于哈希分区,但使用 MySQL 内部的哈希函数。

上一篇:mysql删表

下一篇:flink cdc mysql

大家都在看

mysqlavg函数保留小数

mysql显示表内容

mysql经纬度距离计算

mysql 加密

存储过程mysql

mysql with语句

mysql时间加减

mysql查询表名,模糊匹配

brew 启动mysql

unsigned在mysql中是什么意思

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站