链表查询
可以使用join进行查询
表分区存储
注意:
- 创建分区的字段必须在存在主键中,可以加入联合主键
- 原来的表不可以直接创建分区,需要先创建一个空的分区表,然后再将数据导入到新的分区表中
- 创建分区表的字段需要注意字段类型,分析不明白甩给AI(关键字:mysql创建表分区,表名,字段,字段类型,分区规则)
- 需要创建分区的表往往会表较大,需要合理分区,否则在长时间使用后最后会出现新数据插不进去,或某一个分区文件过大
1. 创建表
B表为新表,A表为旧表
CREATE TABLE B (
id INT,
upDateTime DATETIME,
PRIMARY KEY (id, upDateTime)
);
# 或者复制现有表的格式
CREATE TABLE B LIKE A;
2. 创建分区
ALTER TABLE B
PARTITION BY RANGE (YEAR(upDateTime))(
-- 2024年以前不包括2024年
PARTITION p2023 VALUES LESS THAN (2024),
PARTITION p2024 VALUES LESS THAN (2025),
PARTITION p2025 VALUES LESS THAN (2026),
-- 继续添加年份区分的更多分区
...
PARTITION pMAX VALUES LESS THAN MAXVALUE
);
3. 从旧表把数据迁移到新表
INSERT INTO B SELECT * FROM A;