MySql 实战大数据查询-(表分区实现)

一 mysql分区

      分区是将单个表按照某种规则划分成多个子集,每个子集称为一个分区。常见的分区策略包括按照时间范围、范围值、列表等进行分区。

优点:

  • 查询性能更好,涉及分区键的查询,数据库引擎可以只扫描特定分区,而不是整个表。
  • 管理数据相对简单,特别是对于自动创建新分区的情况,可以方便地处理历史数据和新数据。

二  mysql分区实战

首先抽查看我们线上系统一张报文表保存时间为最近一个月的数据量,3.8亿条如下图:

这里我们按时间作为分区,设置成每个月4亿条数据作为一个区域。

ALTER TABLE ali_hex_log
PARTITION BY RANGE (YEAR(ctime)*100 + MONTH(ctime)) (
    PARTITION p202403 VALUES LESS THAN (202403),
    PARTITION p202404 VALUES LESS THAN (202404),
    PARTITION p202405 VALUES LESS THAN (202405),
    PARTITION p202406 VALUES LESS THAN (202406),
    PARTITION p202407 VALUES LESS THAN (202407),
    PARTITION p202408 VALUES LESS THAN (202408),
    PARTITION p202409 VALUES LESS THAN (202409),
    PARTITION p202410 VALUES LESS THAN (202410),
    PARTITION p202411 VALUES LESS THAN (202411),
    PARTITION p202412 VALUES LESS THAN (202412),
    PARTITION p202501 VALUES LESS THAN MAXVALUE
);

执行上面sql后查看分区效果,如下图:

SHOW CREATE TABLE ali_hex_log;

 删除分区

 ALTER TABLE ali_hex_log
DROP PARTITION p202501;

增加分区


ALTER TABLE ali_hex_log
ADD PARTITION (
    PARTITION p202501 VALUES LESS THAN (202501)
);

查询看一下速度:

在使用分区后,百亿条数据表查询只花了0.014秒,和查询普通表没有什么区别,这个比分表好多了,至少不用去改应用。

相关推荐

  1. MySQL分库实现

    2024-04-02 07:08:06       24 阅读
  2. MySQL联合查询&聚合函数应用实例

    2024-04-02 07:08:06       38 阅读
  3. mysql 删除分区数据

    2024-04-02 07:08:06       49 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-02 07:08:06       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-02 07:08:06       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-02 07:08:06       82 阅读
  4. Python语言-面向对象

    2024-04-02 07:08:06       91 阅读

热门阅读

  1. APP自动化测试-Appium元素定位之元素等待

    2024-04-02 07:08:06       36 阅读
  2. 工业互联网和云计算有关联吗

    2024-04-02 07:08:06       31 阅读
  3. 【BUG】No module named ‘dnf‘

    2024-04-02 07:08:06       36 阅读
  4. 简易聊天室

    2024-04-02 07:08:06       35 阅读
  5. ubuntu重装mysql8

    2024-04-02 07:08:06       40 阅读
  6. React——setState 是同步还是异步问题

    2024-04-02 07:08:06       39 阅读
  7. 在Ubuntu 18.04上添加和删除用户的方法

    2024-04-02 07:08:06       33 阅读
  8. C#WPF设置圆角按钮样式

    2024-04-02 07:08:06       33 阅读
  9. ElasticSearch的DSL查询

    2024-04-02 07:08:06       40 阅读