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

mysql创建分区表

作者:农村混血兒   发布日期:2025-10-14   浏览:6

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

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

-- 解释: 上面的代码创建了一个名为 `sales` 的表,并按 `sale_date` 字段的年份进行范围分区。每个分区存储特定年份范围内的数据。

-- 2. 按列表分区 (LIST)
CREATE TABLE regions (
    id INT NOT NULL,
    region_name VARCHAR(50),
    region_code INT
)
PARTITION BY LIST(region_code) (
    PARTITION p_north VALUES IN (1, 2, 3),
    PARTITION p_south VALUES IN (4, 5, 6),
    PARTITION p_east VALUES IN (7, 8, 9),
    PARTITION p_west VALUES IN (10, 11, 12)
);

-- 解释: 上面的代码创建了一个名为 `regions` 的表,并按 `region_code` 字段的值进行列表分区。每个分区存储特定区域代码的数据。

-- 3. 按哈希分区 (HASH)
CREATE TABLE employees (
    id INT NOT NULL,
    name VARCHAR(50),
    hire_date DATE
)
PARTITION BY HASH(YEAR(hire_date))
PARTITIONS 4;

-- 解释: 上面的代码创建了一个名为 `employees` 的表,并按 `hire_date` 字段的年份进行哈希分区。数据将均匀分布到 4 个分区中。

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

-- 解释: 上面的代码创建了一个名为 `customers` 的表,并按 `id` 字段进行键分区。数据将均匀分布到 5 个分区中。

上一篇:mysql 删除分区

下一篇:mysql 切割字符串

大家都在看

mysqlavg函数保留小数

mysql显示表内容

mysql经纬度距离计算

mysql 加密

存储过程mysql

mysql with语句

mysql时间加减

mysql查询表名,模糊匹配

brew 启动mysql

unsigned在mysql中是什么意思

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

Laravel 中文站