亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > MySQL8.0 如何快速加列

MySQL8.0 如何快速加列

熱門標簽:地圖標注客戶付款 許昌外呼增值業務線路 廣東400企業電話申請流程 咸陽防封電銷卡 申請400電話電話價格 宜賓全自動外呼系統廠家 臨沂做地圖標注 石家莊400電話辦理公司 新鄉智能外呼系統好處

前言:

很早就聽說 MySQL8.0 支持快速加列,可以實現大表秒級加字段。筆者自己本地也有8.0環境,但一直未進行測試。本篇文章我們就一起來看下 MySQL8.0 快速加列到底要如何操作。

1.了解背景信息

表結構的變更是業務運行過程中比較常見的需求之一,在 MySQL 的環境中,可以使用 Alter 語句來完成這些操作,這些 Alter 語句對應的操作通常也稱之為 DDL 操作。通常情況下大表的 DDL 操作都會對業務有很明顯的影響,需要在業務空閑,或者是維護的時候做。MySQL 5.7 支持 Online DDL,大部分 DDL 不影響對表的讀取和寫入,但是依然會消耗非常多的時間,且占用額外的磁盤空間,并會造成主從延遲。所以大表 DDL 仍是一件令 DBA 頭痛的事。

聽聞 MySQL 8.0 解決了這件令 DBA 頭痛的事,那讓我們來詳細了解下吧。想了解新功能,最簡單的方法就是查閱官方文檔。查閱官方文檔得知,快速加列即 Instant Add Column ,該功能自 MySQL 8.0.12 版本引入,是由騰訊游戲DBA團隊貢獻。注意一下,此功能只適用于 InnoDB 表。

2.快速加列測試

快速加列采用的是 instant 算法,使得添加列時不再需要 rebuild 整個表,只需要在表的 metadata 中記錄新增列的基本信息即可。在 alter 語句后增加 ALGORITHM=INSTANT 即代表使用 instant 算法, 如果未明確指定,則支持 instant 算法的操作會默認使用。如果 ALGORITHM=INSTANT 指定但不支持,則操作立即失敗并顯示錯誤。

關于列的 DDL 操作,是否支持 instant 等算法,官方文檔給出了一個表格,現整理如下,星號表示不是全部支持,有依賴項。

操作 Instant In Place Rebuilds Table 允許并發DML 僅修改元數據
添加列 Yes* Yes No* Yes* No
刪除列 No Yes Yes Yes No
重命名列 No Yes No Yes* Yes
更改列順序 No Yes Yes Yes No
設置列默認值 Yes Yes No Yes Yes
更改列數據類型 No No Yes No No
擴展VARCHAR列大小 No Yes No Yes Yes
刪除列默認值 Yes Yes No Yes Yes
更改自動增量值 No Yes No Yes No*
設置列為null No Yes Yes* Yes No
設置列not null No Yes* Yes* Yes No
修改ENUM/SET列的定義 Yes Yes No Yes Yes

instant 算法使用最廣泛的應該是添加列了,可以看到使用該算法還是有些限制的,一些限制如下:

  • 如果 alter 語句包含了 add column 和其他的操作,其中有操作不支持 instant 算法的,那么 alter 語句會報錯,所有的操作都不會執行。
  • 只能順序加列, 僅支持在最后添加列,而不支持在現有列的中間添加列。
  • 不支持壓縮表,即該表行格式不能是 COMPRESSED。
  • 不支持包含全文索引的表。
  • 不支持臨時表。
  • 不支持那些在數據字典表空間中創建的表。

說的再多不如實際來測下,下面我們以 8.0.19 版本為例來實際驗證下:

# 利用sysbench生成一張1000W的大表
mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.19  |
+-----------+
1 row in set (0.00 sec)

mysql> select count(*) from sbtest1;
+----------+
| count(*) |
+----------+
| 10000000 |
+----------+

# 增加無默認值的列
mysql> alter table sbtest1 add column col1 varchar(20), algorithm=instant;
Query OK, 0 rows affected (0.63 sec)
Records: 0 Duplicates: 0 Warnings: 0

# 增加有默認值的列
mysql> alter table sbtest1 add column create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創建時間', algorithm=instant;
Query OK, 0 rows affected (0.58 sec)
Records: 0 Duplicates: 0 Warnings: 0

# 不顯式指定instant算法
mysql> alter table sbtest1 add column col2 varchar(20);
Query OK, 0 rows affected (0.55 sec)
Records: 0 Duplicates: 0 Warnings: 0

# 設置列的默認值
mysql> alter table sbtest1 alter column col1 set default 'sql',algorithm=instant;
Query OK, 0 rows affected (0.02 sec)
Records: 0 Duplicates: 0 Warnings: 0

# 指定In Place算法添加列,(5.7版本添加列使用該算法)
mysql> alter table sbtest1 add column col_inplace varchar(20),algorithm=inplace;
Query OK, 0 rows affected (1 min 23.30 sec)
Records: 0 Duplicates: 0 Warnings: 0

通過以上測試,我們可以發現,使用 instant 算法添加列基本都在 1s 內完成,對于大表來說這個速度是非常快的,業務基本無感知。當使用 5.7 版本的 inplace 算法時,則添加列的時間上升至數分鐘。對比看來 8.0 版本的快速加列功能確實非常實用!

總結:

雖然快速加列存在一些限制, instant 算法也只適用于部分 DDL 操作,但 8.0 的這項新功能已經足以令人興奮,很大程度上解決了大表加字段的大難題。通過這篇文章,希望各位能了解到這項新功能,是不是想升級到 8.0 了呢,可以著手準確起來了。

以上就是MySQL8.0 如何快速加列的詳細內容,更多關于MySQL8.0 快速加列的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • Mysql Online DDL的使用詳解
  • MySQL DDL 引發的同步延遲該如何解決
  • 詳解MySQL8.0原子DDL語法
  • MySQL在線DDL工具 gh-ost的原理解析
  • MySQL ddl語句的使用
  • Mysql DDL常見操作匯總
  • 解析MySQL8.0新特性——事務性數據字典與原子DDL
  • MySQL數據定義語言DDL的基礎語句
  • MySQL8.0 DDL原子性特性及實現原理
  • MySQL在線DDL gh-ost使用總結
  • 解決MySQL 5.7中定位DDL被阻塞的問題
  • MySQL8.0新特性之支持原子DDL語句
  • MySQL曝中間人攻擊Riddle漏洞可致用戶名密碼泄露的處理方法
  • MySQL 8.0 Online DDL快速加列的相關總結

標簽:日照 臺灣 合肥 貴州 鎮江 鷹潭 北京 阜新

巨人網絡通訊聲明:本文標題《MySQL8.0 如何快速加列》,本文關鍵詞  MySQL8.0,如何,快速,加列,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL8.0 如何快速加列》相關的同類信息!
  • 本頁收集關于MySQL8.0 如何快速加列的相關信息資訊供網民參考!
  • 推薦文章
    青青久久精品国产免费看| 国产成人女人在线视频观看| 91麻豆国产| 美女免费精品视频在线观看| 国产不卡福利| 久久精品成人一区二区三区| 久久99中文字幕| 美女免费毛片| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产视频一区二区在线观看| 一a一级片| 日本在线www| 国产视频一区二区在线播放| 精品视频免费在线| 黄色福利片| 精品在线观看国产| 青青久久精品国产免费看| 欧美激情一区二区三区视频高清| 午夜在线亚洲| 精品视频在线观看视频免费视频| 亚州视频一区二区| 99色视频| 久久99中文字幕久久| 国产视频网站在线观看| 久久精品免视看国产明星| 91麻豆精品国产自产在线| 国产一区二区精品久久91| 日本伦理片网站| 色综合久久天天综合观看| 国产韩国精品一区二区三区| 久久国产精品只做精品| 亚洲不卡一区二区三区在线| 国产麻豆精品免费密入口| 麻豆午夜视频| 久草免费在线色站| 成人免费福利片在线观看| 九九久久国产精品| 精品久久久久久中文字幕2017| 国产91精品一区| 久久精品免视看国产明星| 香蕉视频一级| 国产精品免费精品自在线观看| 久久久久久久久综合影视网| 欧美激情影院| 天天色色网| 亚州视频一区二区| 国产伦久视频免费观看 视频| 国产国语对白一级毛片| 欧美a免费| 免费国产在线视频| 日韩女人做爰大片| 99色视频在线观看| 成人免费观看视频| 日韩免费在线视频| 日韩欧美一二三区| 国产91素人搭讪系列天堂| 尤物视频网站在线| 国产精品自拍在线| 日韩在线观看免费| 亚洲第一色在线| 成人免费福利片在线观看| 精品国产一区二区三区免费| 91麻豆爱豆果冻天美星空| 精品国产三级a| 国产成人欧美一区二区三区的| 国产美女在线观看| 国产麻豆精品免费密入口| 国产网站在线| 99久久精品国产免费| 国产网站免费在线观看| 国产视频一区二区在线播放| 999精品在线| 一级毛片看真人在线视频| 国产一区二区精品在线观看| 日韩一级黄色片| 国产高清在线精品一区a| 成人免费观看视频| 久久精品店| 日韩中文字幕一区| 久久99爰这里有精品国产| 国产a毛片| 欧美a级v片不卡在线观看| 日本免费乱人伦在线观看| 精品视频免费看| 欧美a级大片| 91麻豆tv| 国产成人精品影视| 免费一级片网站| 黄视频网站在线观看| 日韩av片免费播放| 一级女人毛片人一女人| 亚洲精品影院| 精品国产三级a∨在线观看| 亚洲精品影院一区二区| 免费一级片网站| 一级毛片视频免费| 成人av在线播放| 一级女人毛片人一女人| 国产一区二区精品尤物| 日韩在线观看免费| 一级片片| 一本高清在线| 精品国产一区二区三区免费| 久久国产精品自线拍免费| 成人免费一级纶理片| 日韩综合| 欧美另类videosbestsex久久| 日韩中文字幕一区二区不卡| a级毛片免费观看网站| 国产亚洲免费观看| 亚欧成人乱码一区二区 | 日本特黄一级| 日本免费看视频| 欧美另类videosbestsex高清| 免费国产一级特黄aa大片在线| 可以在线看黄的网站| 精品国产亚洲人成在线| 欧美激情伊人| 尤物视频网站在线观看| 91麻豆精品国产片在线观看| 日韩一级黄色片| 国产网站免费视频| 成人免费高清视频| 国产一区二区精品久久91| 国产网站免费在线观看| 毛片的网站| 国产亚洲免费观看| 日本伦理网站| 中文字幕97| 亚洲女初尝黑人巨高清在线观看| 国产不卡高清| 精品视频免费在线| 亚洲精品中文字幕久久久久久| 久久久成人影院| 999精品视频在线| 日韩综合| 美女免费精品高清毛片在线视| 精品久久久久久中文字幕一区| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 999精品视频在线| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 精品视频在线观看免费| 欧美大片一区| 欧美激情一区二区三区视频| 欧美a级片视频| 精品在线观看国产| 国产成a人片在线观看视频| 一级女人毛片人一女人| 精品久久久久久中文字幕2017| 国产一区精品| 日本伦理黄色大片在线观看网站| 韩国三级一区| 成人a级高清视频在线观看| 国产91精品一区| 国产a一级| 亚洲精品久久久中文字| 国产伦精品一区二区三区无广告 | 韩国三级视频网站| 免费一级生活片| 日韩中文字幕在线播放| 免费一级生活片| 日本特黄特色aaa大片免费| 高清一级片| 日韩免费在线| 国产视频网站在线观看| 可以在线看黄的网站| 国产不卡在线看| 亚洲第一页乱| 日韩男人天堂| a级精品九九九大片免费看| 国产精品自拍在线| 久久国产精品自由自在| 亚洲第一页色| 99色视频在线观看| 高清一级做a爱过程不卡视频| 亚洲天堂在线播放| 九九热国产视频| 999久久狠狠免费精品| 亚洲第一页乱| 一本伊大人香蕉高清在线观看| 欧美a级片免费看| 免费毛片播放| 欧美大片aaaa一级毛片| 欧美激情一区二区三区在线| 成人a级高清视频在线观看| 九九干| 精品视频在线看 | 九九热国产视频| 你懂的日韩| 欧美日本二区| 美国一区二区三区| 青青青草影院| 精品视频免费在线| 色综合久久天天综合| 精品视频一区二区三区| 精品国产一区二区三区国产馆| 成人a级高清视频在线观看| 日本免费区| 国产91素人搭讪系列天堂| 久久精品大片|