欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mysql表如何按照日期字段的年月分區(qū)

 更新時(shí)間:2025年04月11日 14:34:02   作者:自不惘  
這篇文章主要介紹了Mysql表如何按照日期字段的年月分區(qū)的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

一、創(chuàng)鍵表時(shí)直接設(shè)置分區(qū)

CREATE TABLE your_table_name (
    id INT NOT NULL AUTO_INCREMENT,
    sale_date DATE NOT NULL,
    amount DECIMAL(10, 2) NOT NULL,
    PRIMARY KEY (id, sale_date)
) PARTITION BY RANGE COLUMNS(sale_date) (
    PARTITION p2020_01 VALUES LESS THAN ('2020-02-01'),
    PARTITION p2020_02 VALUES LESS THAN ('2020-03-01'),
    PARTITION p2020_03 VALUES LESS THAN ('2020-04-01'),
    PARTITION p2021_01 VALUES LESS THAN ('2021-02-01'),
    PARTITION p_max VALUES LESS THAN (MAXVALUE)
);

二、已有表分區(qū)

1、分區(qū)的前置條件

確保主鍵或唯一鍵包含分區(qū)鍵,若已經(jīng)創(chuàng)建表可以修改

ALTER TABLE your_table_name DROP PRIMARY KEY;

ALTER TABLE your_table_name 
ADD PRIMARY KEY (id, xxdate);

2、分區(qū)操作

查詢(xún)需要分區(qū)的日期字段所含有的年月

SELECT DISTINCT DATE_FORMAT(xxdate, '%Y-%m') AS YM
FROM your_table_name 
ORDER BY YM;

根據(jù)上面sql語(yǔ)句查詢(xún)的年月數(shù)據(jù)創(chuàng)建分區(qū)

# 我這只有202307、202308兩個(gè)月數(shù)據(jù)
ALTER TABLE your_table_name 
PARTITION BY RANGE COLUMNS(xxdate) (
    PARTITION p2023_07 VALUES LESS THAN ('2023-08-01'),
    PARTITION p2023_08 VALUES LESS THAN ('2023-09-01'),
    PARTITION p_max VALUES LESS THAN (MAXVALUE)
);

三、驗(yàn)證

EXPLAIN  SELECT * from your_table_name where xxdate BETWEEN '2023-07-01' and '2023-07-31';

partitions 命中一個(gè)目標(biāo)分區(qū)則分區(qū)成功,如:partitions列的值為 p2023_07

四、注意

如果有新的月份分區(qū)需要增加,則需要手動(dòng)去修改,否則歸為p_max分區(qū)影響查詢(xún)效率

ALTER TABLE your_table_name 
PARTITION BY RANGE COLUMNS(xxdate) (
    PARTITION p2023_07 VALUES LESS THAN ('2023-08-01'),
    PARTITION p2023_08 VALUES LESS THAN ('2023-09-01'),
    # 在這里添加
    PARTITION p_max VALUES LESS THAN (MAXVALUE)
);

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 關(guān)于MySQL的整型數(shù)據(jù)的內(nèi)存溢出問(wèn)題的應(yīng)對(duì)方法

    關(guān)于MySQL的整型數(shù)據(jù)的內(nèi)存溢出問(wèn)題的應(yīng)對(duì)方法

    這篇文章主要介紹了關(guān)于MySQL的整型數(shù)據(jù)的內(nèi)存溢出問(wèn)題的應(yīng)對(duì)方法,作者還列出了MySQL所支持的整型數(shù)據(jù)的存儲(chǔ)空間支持大小,需要的朋友可以參考下
    2015-05-05
  • CentOS7.6安裝MYSQL8.0的步驟詳解

    CentOS7.6安裝MYSQL8.0的步驟詳解

    這篇文章主要介紹了CentOS7.6安裝MYSQL8.0的步驟,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11
  • mysql 5.7 zip archive版本安裝教程

    mysql 5.7 zip archive版本安裝教程

    這篇文章主要為大家詳細(xì)介紹了mysql 5.7 zip archive版本安裝教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • MySql用DATE_FORMAT截取DateTime字段的日期值

    MySql用DATE_FORMAT截取DateTime字段的日期值

    MySql截取DateTime字段的日期值可以使用DATE_FORMAT來(lái)格式化,使用方法如下
    2014-08-08
  • Centos7下安裝和配置MySQL5.7.20的詳細(xì)教程

    Centos7下安裝和配置MySQL5.7.20的詳細(xì)教程

    這篇文章主要介紹了Linux(CentOS7)下安裝和配置MySQL5.7.20詳細(xì)教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià),需要的朋友可以參考下
    2020-05-05
  • mysql之validate_password_policy的使用

    mysql之validate_password_policy的使用

    這篇文章主要介紹了mysql之validate_password_policy的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • MySQL自增id用完的解決方案

    MySQL自增id用完的解決方案

    MySQL 的自增 ID(Auto Increment ID)是數(shù)據(jù)庫(kù)表中最常用的主鍵類(lèi)型之一,然而,在一些特定的場(chǎng)景下,自增 ID 可能會(huì)達(dá)到其最大值,可能會(huì)遇到 ID 用盡的問(wèn)題,所以本文介紹了MySQL自增id用完的解決方案,需要的朋友可以參考下
    2024-12-12
  • WINDOWS下安裝MYSQL教程詳解

    WINDOWS下安裝MYSQL教程詳解

    這篇文章主要介紹了WINDOWS下安裝MYSQL教程,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-10-10
  • MySQL緩存的查詢(xún)和清除命令使用詳解

    MySQL緩存的查詢(xún)和清除命令使用詳解

    這篇文章主要介紹了MySQL緩存的查詢(xún)和清除命令使用詳解,對(duì)于一些不常改變數(shù)據(jù)且有大量相同sql查詢(xún)的表,查詢(xún)緩存會(huì)顯得比較有用一些,需要的朋友可以參考下
    2015-12-12
  • MYSQL?EXPLAIN結(jié)果解讀

    MYSQL?EXPLAIN結(jié)果解讀

    本文主要介紹了MySQL查詢(xún)中的一些關(guān)鍵字,如:SIMPLE,PRIMARY,UNION,DEPENDENTUNION,UNIONRESULT,SUBQUERY,DEPENDENTSUBQUERY,DERIVED,UNCACHEABLESUBQUERY等,文章詳細(xì)解析了這些關(guān)鍵字的含義和用途
    2024-10-10

最新評(píng)論