Mysql分區(qū)表和普通表互轉(zhuǎn)的實現(xiàn)示例
更新時間:2025年02月20日 10:33:13 作者:冰之杍
本文主要介紹了Mysql分區(qū)表和普通表互轉(zhuǎn)的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
背景
Mysql分區(qū)表&普通表互轉(zhuǎn)
一、普通表轉(zhuǎn)分區(qū)表
1.普通表如下
CREATE TABLE `fg_pm_nbiot_cel_h_cel_t` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `int_id` decimal(20,0) DEFAULT NULL COMMENT '網(wǎng)元標識int_id', `batch` varchar(255) NOT NULL COMMENT '批次', `create_time` datetime DEFAULT NULL COMMENT '創(chuàng)建時間', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='NB-IoT小區(qū)性能數(shù)據(jù)'
2.普通表轉(zhuǎn)分區(qū)表
假如以batch為分區(qū)字段,且batch的取值為如20210530000格式的日期字符串,
##先將primary key 為id的刪除,再加上id,batch組合的主鍵(分區(qū)表要求分區(qū)字段需要包含在primary key中) ALTER TABLE `fg_pm_nbiot_cel_h_cel` DROP PRIMARY KEY, ADD PRIMARY KEY(`id`,`batch`); ##增加分區(qū)信息 alter table fg_pm_nbiot_cel_h_cel partition by RANGE COLUMNS(batch) ( PARTITION p202106020000 VALUES LESS THAN ( '202106020100' ) );
經(jīng)過上述2步執(zhí)行后普通表就轉(zhuǎn)換成了分區(qū)表
3.如何將分區(qū)表轉(zhuǎn)換回普通表
##主鍵還原只用id做主鍵,先刪除,建回來 ALTER TABLE `fg_pm_nbiot_cel_h_cel` DROP PRIMARY KEY, ADD PRIMARY KEY(`id`); ##移除分區(qū)信息 ALTER TABLE fg_pm_nbiot_cel_h_cel remove partitioning;
到此這篇關(guān)于Mysql分區(qū)表和普通表互轉(zhuǎn)的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)Mysql分區(qū)表和普通表互轉(zhuǎn)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:
相關(guān)文章
MySql報錯:Duplicate entry ‘10‘ for key&nbs
經(jīng)常遇到這個問題,今天我把這個問題記錄下來,以后如果有其他人遇到相同的問題,不至于困惑,在操作數(shù)據(jù)庫的時候,經(jīng)常會出現(xiàn)Duplicate entry ‘10’ for key 'PRIMARY’這樣的報錯,本文將給大家講講如何解決這個問題,需要的朋友可以參考下2023-10-10mysql數(shù)據(jù)庫視圖和執(zhí)行計劃實戰(zhàn)案例
這篇文章主要給大家介紹了關(guān)于mysql數(shù)據(jù)庫視圖和執(zhí)行計劃的相關(guān)資料,在使用MySQL過程中視圖和執(zhí)行計劃是一個很好的工具,文中通過圖文以及代碼介紹的非常詳細,需要的朋友可以參考下2024-02-02