mysql调优


链表查询

可以使用join进行查询

表分区存储

注意:
  1. 创建分区的字段必须在存在主键中,可以加入联合主键
  2. 原来的表不可以直接创建分区,需要先创建一个空的分区表,然后再将数据导入到新的分区表中
  3. 创建分区表的字段需要注意字段类型,分析不明白甩给AI(关键字:mysql创建表分区,表名,字段,字段类型,分区规则)
  4. 需要创建分区的表往往会表较大,需要合理分区,否则在长时间使用后最后会出现新数据插不进去,或某一个分区文件过大
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;

文章作者: 花舞流觞
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 花舞流觞 !
  目录