-- 示例代码:MySQL 分表(水平分表)
-- 假设我们有一个订单表 orders,随着数据量的增长,我们可以根据订单的创建时间进行分表。
-- 例如,我们可以创建多个 orders 表,每个表存储一年的数据。
-- 创建 2021 年的订单表
CREATE TABLE orders_2021 (
order_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT NOT NULL,
product_name VARCHAR(255) NOT NULL,
order_date DATE NOT NULL
);
-- 创建 2022 年的订单表
CREATE TABLE orders_2022 (
order_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT NOT NULL,
product_name VARCHAR(255) NOT NULL,
order_date DATE NOT NULL
);
-- 创建 2023 年的订单表
CREATE TABLE orders_2023 (
order_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT NOT NULL,
product_name VARCHAR(255) NOT NULL,
order_date DATE NOT NULL
);
-- 插入数据时,根据订单的创建时间选择对应的表
INSERT INTO orders_2021 (user_id, product_name, order_date) VALUES (1, 'Product A', '2021-01-01');
INSERT INTO orders_2022 (user_id, product_name, order_date) VALUES (2, 'Product B', '2022-06-15');
INSERT INTO orders_2023 (user_id, product_name, order_date) VALUES (3, 'Product C', '2023-12-25');
-- 查询时,也需要根据条件选择对应的表
SELECT * FROM orders_2021 WHERE user_id = 1;
SELECT * FROM orders_2022 WHERE user_id = 2;
SELECT * FROM orders_2023 WHERE user_id = 3;
-- 注意:分表后,查询和插入操作需要根据业务逻辑手动选择对应的表,或者通过中间件或应用程序层来实现自动路由。
下一篇:mysql delete 语句
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站