亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

一、創(chuàng)鍵表時直接設(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ū)操作

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

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

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

# 我這只有202307、202308兩個月數(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)
);

三、驗證

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

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

四、注意

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

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é)

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

相關(guān)文章

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

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

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

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

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

    mysql 5.7 zip archive版本安裝教程

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

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

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

    Centos7下安裝和配置MySQL5.7.20的詳細教程

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

    mysql之validate_password_policy的使用

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

    MySQL自增id用完的解決方案

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

    WINDOWS下安裝MYSQL教程詳解

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

    MySQL緩存的查詢和清除命令使用詳解

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

    MYSQL?EXPLAIN結(jié)果解讀

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

最新評論