最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mysql大表修改字段兩種解決方式

 更新時間:2024年11月21日 09:21:19   作者:zxc_user  
這篇文章主要給大家介紹了關于Mysql大表修改字段的兩種解決方式,文中介紹了在處理平臺幣訂單表字段類型修改時遇到的問題及解決方案,需要的朋友可以參考下

背景

由于平臺幣需要從之前的整形類型變?yōu)橹С中?shù)的decimal類型,所以需要對訂單表的字段類型進行修改.

訂單表: 目前數(shù)據(jù)已經有 2000多萬數(shù)據(jù)了,數(shù)據(jù)量還是比較大的, 需要修改的字段有3個,訂單表名為 order_info

解決方案一

直接用sql原生語句

alter table order_info MODIFY column coin_count decimal(6, 1);

耗時 500多秒都沒執(zhí)行完, 撤回了,因為鎖表用戶下不了單影響可能還是比較大的,所以該方案廢棄了

解決方案二

用新舊表邏輯進行處理,主要步驟有以下幾步

1: 創(chuàng)建新的表,名字為 order_info_new, 結構從 order_info 復制, 但是那三個字段已經從int改為decimal了, 這個步驟是不會鎖表的

2: 把原有的order_info表名改為 order_info_old, 同時把order_info_new改為 order_info即可,這個步驟也很快,同時也不會鎖表

3: 使用mysql自帶的命令行語句把之前的數(shù)據(jù)遷移到新表中,語句如下,只需要等待完成即可:

INSERT INTO order_info SELECT * FROM order_info_old

注: 第1步建立表時需要注解id的問題,如果是自增的話那么新表的自增id要大一些,防止切換過程中id發(fā)生沖突問題

第三步執(zhí)行時mysql默認是開啟事務的,所以執(zhí)行過程數(shù)據(jù)會查詢不到,需要等到執(zhí)行完成,看有沒有這方面需要考慮的問題

選擇

最終自然是使用了第二種方案咯,整個過程也不算太慢,2000多萬數(shù)據(jù)遷移也就用了半個多小時,阿里的RDS感覺還是有點東西的應該

其他優(yōu)化

在處理這個問題時,同時一并處理了訂單表設計不合理的地方,主要處理了兩個問題

1: 數(shù)據(jù)字段類型不合理設計

2: 歷史數(shù)據(jù)進行部分遷移

類型優(yōu)化

 `delivery_status` int DEFAULT '1' COMMENT '發(fā)貨狀態(tài) 1:未發(fā)貨 2:已發(fā)貨' 訂單表存在很多這種不合適的字段類型,不合理是因為這個字段只會有2個值,所以應該改為

 `delivery_status` tinyint DEFAULT '1' COMMENT '發(fā)貨狀態(tài) 1:未發(fā)貨 2:已發(fā)貨',這樣比較合理

改完效果還是比較明顯的,一條數(shù)據(jù)就可以節(jié)省3個字節(jié),2000多萬條大概節(jié)省了12G空間出來,這是一件很有意義的事來的

歷史數(shù)據(jù)遷移

order_info的數(shù)據(jù)從 2020年一直到2024年的數(shù)據(jù)都是在同一張表,但其實很多歷史數(shù)據(jù)也不會查了,所以把2020-2021年的數(shù)據(jù)遷移到新的表中去了,做法也很簡單

1: 原來的 order_info 只保留了 2022年以后至今的數(shù)據(jù)

2: 再創(chuàng)建一張 order_info_history 數(shù)據(jù)表,結構一摸一樣的

3: 把 order_info 2022年前的數(shù)據(jù)全部轉到 order_info_history 中

具體的操作命令如下:

INSERT INTO order_info SELECT * FROM order_info_old where create_time >= 1640966400000;
INSERT INTO order_info_history SELECT * FROM order_info_old where create_time < 1640966400000;

總結

到此這篇關于Mysql大表修改字段兩種解決方式的文章就介紹到這了,更多相關Mysql大表修改字段內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • MySQL slow_log表無法修改成innodb引擎詳解

    MySQL slow_log表無法修改成innodb引擎詳解

    這篇文章主要給大家介紹了關于MySQL slow_log表無法修改成innodb引擎的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用MySQL具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-04-04
  • MySQL提升大量數(shù)據(jù)查詢效率的優(yōu)化神器

    MySQL提升大量數(shù)據(jù)查詢效率的優(yōu)化神器

    這篇文章主要介紹了MySQL提升大量數(shù)據(jù)查詢效率的優(yōu)化神器,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-07-07
  • 解決Idea鏈接mysql數(shù)據(jù)庫失敗Schemas中為空的問題

    解決Idea鏈接mysql數(shù)據(jù)庫失敗Schemas中為空的問題

    文章講述了在使用Sechemas攔截MySQL數(shù)據(jù)庫時遇到沒有數(shù)據(jù)的情況,并分析了可能是由于數(shù)據(jù)庫版本問題導致的,作者建議根據(jù)自己的數(shù)據(jù)庫版本進行選擇,如果不確定版本,可以嘗試所有版本,以解決問題
    2026-01-01
  • mysql 分頁優(yōu)化解析

    mysql 分頁優(yōu)化解析

    似乎討論分頁的人很少,難道大家都沉迷于limit m,n?在有索引的情況下,limit m,n速度足夠,可是在復雜條件搜索時,where somthing order by somefield+somefieldmysql會搜遍數(shù)據(jù)庫,找出“所有”符合條件的記錄,然后取出m,n條記錄。
    2008-04-04
  • MySQL主從架構原理、優(yōu)化與實踐指南全解析

    MySQL主從架構原理、優(yōu)化與實踐指南全解析

    這是一份關于MySQL主從架構的深度解析指南,本文將從核心原理出發(fā),延伸至架構優(yōu)化、延遲排查及高可用切換等實踐層面,幫助您構建一個穩(wěn)定、高效的 MySQL 數(shù)據(jù)同步體系
    2026-04-04
  • MySQL之Explain詳解

    MySQL之Explain詳解

    使用Explain關鍵字可以模擬優(yōu)化器執(zhí)行SQL語句,分析你的查詢語句或是結構的性能瓶頸,感興趣的的同學可以參考閱讀
    2023-04-04
  • 解決MySql不等于的條件過濾字段值為NULL問題

    解決MySql不等于的條件過濾字段值為NULL問題

    今天遇到一個查詢結果不對的問題,使用isNull能解決問題,但因查詢條件過濾null,還有不同的寫法,總結了兩種實現(xiàn)方式,希望能給大家一個參考
    2024-12-12
  • 前端傳參數(shù)進行Mybatis調用mysql存儲過程執(zhí)行返回值詳解

    前端傳參數(shù)進行Mybatis調用mysql存儲過程執(zhí)行返回值詳解

    這篇文章主要介紹了前端傳參數(shù)進行Mybatis調用mysql存儲過程執(zhí)行返回值詳解,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • 關于MySQL的ORDER BY排序詳解

    關于MySQL的ORDER BY排序詳解

    這篇文章主要介紹了關于MySQL的ORDER BY排序詳解,如果沒有使用排序操作,默認情況下查詢返回的數(shù)據(jù)是按照添加數(shù)據(jù)的順序顯示的,需要的朋友可以參考下
    2023-05-05
  • 詳解mysql數(shù)據(jù)庫如何開啟慢查詢日志

    詳解mysql數(shù)據(jù)庫如何開啟慢查詢日志

    這篇文章主要介紹了詳解mysql數(shù)據(jù)庫如何開啟慢查詢日志的相關資料,需要的朋友可以參考下
    2017-03-03

最新評論

惠水县| 乃东县| 武城县| 栖霞市| 林州市| 开鲁县| 静宁县| 海口市| 岢岚县| 玉山县| 遂溪县| 安康市| 博野县| 从化市| 志丹县| 虎林市| 桃江县| 遵化市| 古交市| 乐安县| 雅安市| 长葛市| 隆德县| 荔波县| 丰宁| 泗洪县| 光泽县| 榆树市| 伊金霍洛旗| 盖州市| 新乡县| 清远市| 龙里县| 蕲春县| 阿拉善左旗| 遵化市| 灵川县| 乐亭县| 邹城市| 汤原县| 永川市|