MySQL 怎么分表
时间: 2023-02-08 07:48:58 浏览: 115
Mysql分表查询,哈希,范围,列表
MySQL 可以通过使用分区来实现表的分表。分区将表的数据按照某种规则分割成多个不同的部分,每个部分存储在一个独立的文件中。MySQL 支持多种分区方式,如按照数值范围、按照数值列、按照日期、按照哈希值等。
在创建表时可以使用PARTITION BY 子句来定义分区方式,如:
```
CREATE TABLE orders (
order_id INT NOT NULL,
customer_id INT NOT NULL,
order_date DATE NOT NULL,
amount DECIMAL(10,2) NOT NULL
)
PARTITION BY RANGE (order_date) (
PARTITION p0 VALUES LESS THAN ('2020-01-01'),
PARTITION p1 VALUES LESS THAN ('2020-02-01'),
PARTITION p2 VALUES LESS THAN ('2020-03-01')
);
```
上面的语句将表 orders 按照订单日期的范围分成三个分区,分别存储 2019 年以前、2019 年 1 月、2019 年 2 月的订单。
另外可以用Alter table command 动态加入partition 和 删除 partition
在使用分区表时,MySQL 会自动将查询语句中的条件与分区键进行匹配,并只搜索符合条件的分区,这样可以大大提高查询性能。
阅读全文