-- 创建分区表的示例代码
-- 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 切割字符串
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站