MySQL使用分区的好处,可以把一些归类的数据放在一个分区中,可以减少服务器检查数据的数量加快查询

分区有多种方式,第一种在建表时同时分区:可以根据需要一次建立足够的分区。

CREATE TABLE CRT(ID VARCHAR(32) NOT NULL,CELL_ID VARCHAR(15) NULL,YEAR INT(11) NOT NULL,MONTH INT(11) NOT NULL,DAY INT(11) NULL,TIME INT NULL,MINUTE INT(11) NOT NULL,QUANTITY INT(11) NULL,PRIMARY KEY(ID, YEAR, MONTH)
) PARTITION BY RANGE COLUMNS(YEAR, MONTH) PARTITIONS 2(PARTITION P202205 VALUES LESS THAN(2022, 6),PARTITION P202206 VALUES LESS THAN(2022, 7));

第二种,建表之后调整分区:数据库会重建分区同时根据数据时间把对应的数据插入对应的分区。

注意,重点在这:整个表重新分配分区,不受新增分区时递增影响。

ALTER TABLE CRT
PARTITION BY RANGE COLUMNS (YEAR, MONTH) (PARTITION p202301 VALUES LESS THAN (2023, 2),PARTITION p202302 VALUES LESS THAN (2023, 3),PARTITION p202303 VALUES LESS THAN (2023, 4),PARTITION p202304 VALUES LESS THAN (2023, 5)
);

第三种,建表之后新增分区:

注意,重点在这:分区表是按范围进行分区,其中,分区顺序是严格地进行递增。就是说,如果想在中间新增分区是不可行的,只能按照顺序进行递增。

比如,数据库中已经存在(2023, 6)分区,现在要新增一个分区VALUES LESS THAN (2023, 5),这时就会报错VALUES LESS THAN value must be strictly increasing for each partition。

这时候就要采用第二种调整分区方式了,数据库会重建分区同时根据数据时间把对应的数据插入对应的分区。

千万别学网上别人说的删掉分区,或者重新建表重建分区,重新导入数据,删掉分区会删掉数据,重新导入数据会很费时间。

ALTER TABLE CRTADD PARTITION (PARTITION p202305 VALUES LESS THAN (2023, 6));

清理分区数据为空,保留分区不删除,仅仅是清理数据:

ALTER TABLE CRT TRUNCATE PARTITION 202205;

删除分区:

ALTER TABLE CRT DROP PARTITION 202205;

VALUES LESS THAN value must be strictly increasing for each partition,MySQL分区需要注意的坑相关推荐

  1. 解决 Moveit中error: Trajectory message contains waypoints that are not strictly increasing in time

    最近在复现一个多路点,利用Moveit(python)下的笛卡尔运动规划进行UR5机械臂的控制实验. 在多路点运动规划时,可以进行多点规划,但是在执行时,会出现报错的情况,总体来看是可以规划,但是不能 ...

  2. SQLException错误码

    这里说的错误码是指SQLException.getErrorCode()返回的int类型错误码. 比如常见的有: // 1049 Unknown database // 1060 Duplicate ...

  3. MySQL优化系列12-MySQL分区表

    备注:测试数据库版本为MySQL 8.0 文章目录 一.分区表简介 二.分区的类型 2.1 range分区 2.2 list分区 2.3 colums分区 2.3.1 RANGE COLUMNS分区 ...

  4. MySQL 8.0 表分区

    一.开发环境及软件 (1)win10家庭中文版 (2)Mysql8.0.23 (3)Navicat for MySQL 二.相关知识 参考mysql官网:https://dev.mysql.com/d ...

  5. SQL表分区 partition的用法

    1.分表与表分区的区别 1.1 关于分表 分表是将一个大表分为几个或是多个小表,例如:table_1每天有1Kw的数据量,table_1随便时间的增长会越来越大,最终达到mysql表的极限,在这种比较 ...

  6. mysql 获取分区的最大值_MySQL分区表测试

    MYSQL 分区表功能测试. 1.查看Mysql版本是否支持分区 SHOW VARIABLES LIKE '%partition%'; +-------------------+-------+ | ...

  7. mysql分区拆分区

    VALUES LESS THAN value must be strictly increasing for each partition 分区已经建立的情况下,可以将分区继续拆分 alter tab ...

  8. mysql hash分区 数目_MySQL 分区

    MySQL 分区 分区是指根据一定的规则,把一个表分解成多个更小更易管理的部分,逻辑上只有一个表或一个索引, 但是实际上该表可能由数个物理分区对象组成,每个分区都是一个独立的对象,每个分区可以独自处理 ...

  9. poj2017——Speed Limit

    原题: Description Bill and Ted are taking a road trip. But the odometer in their car is broken, so the ...

  10. mysql删除分表键_一文看懂 MySQL 分区和分表,提高表增删改查效率

    原标题:一文看懂 MySQL 分区和分表,提高表增删改查效率 作者:冯帅,精通Oracle. MySQL. 擅长异构数据库数据同步及迁移.数据库的设计和调优,对高可用方案有深入研究. MySQL分区和 ...

最新文章

  1. 关于小型长周期项目的一些建议
  2. 阿里云宣布 Serverless 容器服务 弹性容器实例 ECI 正式商业化
  3. php中unset函数是在哪一章_PHP引用(amp;)使用详解
  4. 时域,频域与傅立叶变换 - 慕水 - CSDNBlog
  5. Android 十大布局
  6. 《Android Studio从入门到精通》读后感,电子书PDF百度网盘下载
  7. 【失败日记】手机内网穿透
  8. 小麦苗健康检查脚本说明(Oracle巡检脚本)
  9. 《解析深度学习》部分笔记
  10. Linux Shell操作json工具jq
  11. window.onload的用法
  12. 就业与保障杂志就业与保障杂志社就业与保障编辑部2022年第3期目录
  13. 《计算机是怎样跑起来的》矢泽久雄 读书笔记(关于数据库,数据加密,XML和CSV)
  14. 浙大第五版概统复习提纲(前八章)
  15. 字符串经典匹配算法之Sunday算法
  16. 检测鼠标按钮(左右键)是否交换
  17. 分析视角下银行业数据平台架构演进及实现
  18. Android https抓包指南
  19. win7怎么投屏到电视机上?
  20. Matlab与FPGA数字信号处理系列——DDS信号发生器——Quartus ii 原理图法利用 ROM 存储波形实现DDS(1)

热门文章

  1. 3GPP最新提案查询方法
  2. 对许多张图片进行批量裁剪,看看我是如何快速做到的
  3. python中的sin函数_Python sin() 函数
  4. 第一章 Cheat Enginee(CE)使用指南
  5. 统信uos设置静态IP
  6. v-lazy懒加载的作用与使用
  7. java是要在安装的盆运行吗,Java程序员(单身30年):告诫各位,千万不要和女程序员做同事!...
  8. android studio 自定义皮肤
  9. fantastic-matplotlib:案例集合:
  10. (四)Buffer 缓冲区