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

mysql分區(qū)表學(xué)習(xí)之日期分區(qū)

 更新時間:2023年08月03日 08:34:30   作者:Phil_xian  
這篇文章主要給大家介紹了關(guān)于mysql分區(qū)表學(xué)習(xí)之日期分區(qū)的相關(guān)資料,分區(qū)是一種表的設(shè)計模式,通俗地講表分區(qū)是將一大表,根據(jù)條件分割成若干個小表,需要的朋友可以參考下

1.創(chuàng)建分區(qū)表

CREATE TABLE `api_log` (
  `requestId` varchar(64) NOT NULL COMMENT '調(diào)用的唯一標(biāo)示',
  `systemCode` varchar(64) NOT NULL COMMENT '業(yè)務(wù)系統(tǒng)編碼',
  `tongID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `tong_time`  timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `pt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '分區(qū)字段',
  PRIMARY KEY (`tongID`,`requestId`,`pt`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='日志信息表'
/*!50100 PARTITION BY RANGE (TO_DAYS(pt))
(PARTITION p20230510 VALUES LESS THAN (739015) ENGINE = InnoDB,
 PARTITION p20230511 VALUES LESS THAN (739016) ENGINE = InnoDB) */;

2.查看分區(qū)

-- 01 查詢單分區(qū)
 SELECT * from api_log partition (p20230510)

-- 02 查看所有分區(qū)

SELECT
    PARTITION_NAME,
    TABLE_ROWS 
FROM
    INFORMATION_SCHEMA.PARTITIONS 
WHERE
    TABLE_NAME = 'api_log';

3.添加分區(qū)

-- 添加分區(qū)
ALTER TABLE hz_api_log_delta add PARTITION (PARTITION p20230512 VALUES LESS THAN (TO_DAYS('2023-05-12')));

4.存儲過程:分區(qū)刪除與創(chuàng)建

delimiter //
CREATE  PROCEDURE `pro_create_del_pt`()
BEGIN
	#Routine body goes here...
## 01.新建后面兩天的分區(qū)
## 02獲取當(dāng)前時間
SELECT CONCAT('p',DATE_FORMAT(DATE_ADD(NOW(),INTERVAL 2 DAY),'%Y%m%d')) into @pname;
SELECT DATE_ADD(NOW(),INTERVAL 2 DAY) into @pdate;
#刪除的分區(qū)時間
SELECT  DATE_FORMAT(DATE_ADD(NOW(),INTERVAL -17 DAY) ,'%Y%m%d') into @ddate;
## 03新增分區(qū)
-- ALTER TABLE api_log add PARTITION (PARTITION p20230509 VALUES LESS THAN (TO_DAYS(DATE_ADD(NOW(),INTERVAL 1 DAY))));
		set @sql_add_p=concat("ALTER TABLE api_log add PARTITION (PARTITION ",@pname,"  VALUES LESS THAN (TO_DAYS('",@pdate,"')))");
	prepare sql_add_p from @sql_add_p;
	EXECUTE sql_add_p ;
	DEALLOCATE PREPARE sql_add_p;	
## 04 刪除分區(qū)
#alter table api_log drop partition p20230507;
		set @sql_del_p=concat("ALTER TABLE api_log drop PARTITION p",@ddate);
	prepare sql_del_p from @sql_del_p;
	EXECUTE sql_del_p ;
	DEALLOCATE PREPARE sql_del_p;	
END
 //
delimiter ;

5.事件定時

-- 創(chuàng)建事件
delimiter $$
create event event_pro_create_del_pt
on schedule 
	every 1 DAY 
	STARTS '2023-05-10 20:00:00 '
	comment '每日20:00執(zhí)行'
DO call pro_create_del_pt();
$$
delimiter ;
-- 查看事件
show events;
或者
select * from mysql.event;

6.觸發(fā)器設(shè)計:子表每插入一行,總表獲得一行

-- 創(chuàng)建事件
delimiter $$
CREATE  TRIGGER `trigger_api_log` AFTER INSERT ON `api_log` 
FOR EACH ROW BEGIN
insert into hz_api.api_log_all 
(requestId,systemCode,sjly_part) VALUES
 (NEW.requestId,NEW.systemCode,'區(qū)縣');
end;
$$
delimiter ;

7.創(chuàng)建索引

--  創(chuàng)建普通索引:在tong_time字段
ALTER TABLE db_base.api_log ADD INDEX index_name ( tong_time );
-- 查看索引
show index from db_base.api_log;

8.添加枚舉型字段

ALTER TABLE db_base.api_log add SJLY_PART enum('線上','線下') default null COMMENT '數(shù)據(jù)來源';

總結(jié) 

到此這篇關(guān)于mysql分區(qū)表學(xué)習(xí)之日期分區(qū)的文章就介紹到這了,更多相關(guān)mysql日期分區(qū)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL非常重要的日志bin log詳解

    MySQL非常重要的日志bin log詳解

    bin log想必大家多多少少都有聽過,它是MySQL中一個非常重要的日志,因?yàn)樗婕暗綌?shù)據(jù)庫層面的主從復(fù)制、高可用等設(shè)計,所以本文就給大家詳細(xì)的講解MySQL非常重要的日志—bin log,需要的朋友可以參考下
    2023-07-07
  • mysql 數(shù)據(jù)庫取前后幾秒 幾分鐘 幾小時 幾天的語句

    mysql 數(shù)據(jù)庫取前后幾秒 幾分鐘 幾小時 幾天的語句

    這篇文章主要介紹了mysql 數(shù)據(jù)庫中取前后幾秒 幾分鐘 幾小時 幾天的語句,需要的朋友可以參考下
    2018-01-01
  • Mysql Binlog快速遍歷搜索記錄及binlog數(shù)據(jù)查看的方法

    Mysql Binlog快速遍歷搜索記錄及binlog數(shù)據(jù)查看的方法

    這篇文章主要介紹了Mysql Binlog快速遍歷搜索記錄及binlog數(shù)據(jù)查看的方法的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • MySQL中有哪些情況下數(shù)據(jù)庫索引會失效詳析

    MySQL中有哪些情況下數(shù)據(jù)庫索引會失效詳析

    這篇文章主要給大家介紹了關(guān)于MySQL中有哪些情況下數(shù)據(jù)庫索引會失效的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • mysql limit分頁優(yōu)化詳細(xì)介紹

    mysql limit分頁優(yōu)化詳細(xì)介紹

    MySQL最常用也最需要優(yōu)化的就是limit,MySQL的limit給分頁帶來了極大的方便,但數(shù)據(jù)量一大的時候,limit的性能就急劇下降,需要的朋友可以參考下
    2016-12-12
  • MySQL定時備份之使用Linux下的crontab定時備份實(shí)例

    MySQL定時備份之使用Linux下的crontab定時備份實(shí)例

    這篇文章主要介紹了使用Linux下的crontab進(jìn)行MySQL定時備份的例子,需要的朋友可以參考下
    2014-04-04
  • centos7下安裝mysql的教程

    centos7下安裝mysql的教程

    這篇文章主要介紹了centos7安裝mysql的教程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • Mysql中如何刪除某個字段的最后四個字符

    Mysql中如何刪除某個字段的最后四個字符

    這篇文章主要介紹了Mysql中如何刪除某個字段的最后四個字符,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 詳解mysql觸發(fā)器trigger實(shí)例

    詳解mysql觸發(fā)器trigger實(shí)例

    這篇文章主要為大家介紹了mysql觸發(fā)器trigger實(shí)例?,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • mybatis中的三種批量插入方式對比

    mybatis中的三種批量插入方式對比

    這篇文章主要介紹了mybatis中的三種批量插入方式對比,Mybatis是一款流行的Java持久化框架,它提供了三種不同的批量插入方式,分別為普通循環(huán)插入、BatchExecutor和JDBC批處理,普通循環(huán)插入方式適用于數(shù)據(jù)量較小的情況,但隨著數(shù)據(jù)量的增大會影響性能,需要的朋友可以參考下
    2023-10-10

最新評論