日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

秒級加字段

使用傳統方法執行加列操作時,需要重建整個表數據,占用大量系統資源。PolarDB MySQL版支持秒級加字段(Instant add column)功能,在加列操作時只需變更表定義信息,無需修改已有數據,幫助您快速完成對任意大小表的加列操作。本文介紹如何使用秒級加字段功能。

前提條件

集群版本需為以下版本之一:

  • PolarDB MySQL版5.6版本且修訂版本為5.6.1.0.43或以上,您可以通過查詢版本號確認集群的修訂版本。

    說明

    PolarDB MySQL版5.6版本的秒級加列功能目前處于灰度階段,如需使用,請前往配額中心,根據配額IDpolardb_mysql_iac_56找到配額名稱,在對應的操作列單擊申請來開通該功能。

  • PolarDB MySQL版5.7版本且修訂版本為5.7.1.0.6或以上,您可以通過查詢版本號確認集群的修訂版本。

    說明

    您需要先配置loose_innodb_support_instant_add_column參數才能在PolarDB MySQL版5.7版本的集群上使用該功能。

  • PolarDB MySQL版8.0版本。

    說明

    PolarDB MySQL版8.0版本的集群默認支持秒級加字段功能,無需配置任何參數。

使用限制

  • 新增列只能為表的最后一列。

  • 不支持添加虛擬列(PolarDB MySQL版8.0版本支持)。

  • 不支持在分區表上添加列(PolarDB MySQL版8.0版本支持)。

  • 不支持使用了全文索引或列存索引的表。

  • 不支持開啟了Implicit primary key選項且未自定義主鍵的表。

  • 不支持在同一條SQL中同時執行其它DDL操作和Instant add column操作。

使用方法

  • 參數設置

    針對PolarDB MySQL版5.6版本和PolarDB MySQL版5.7版本的集群,您需要開啟loose_innodb_support_instant_add_column參數來使用秒級加字段功能。如何設置參數值請參見設置集群參數和節點參數

    說明

    PolarDB MySQL版8.0版本的集群無需配置該參數即可直接使用秒級加字段功能。

    參數

    級別

    說明

    loose_innodb_support_instant_add_column

    Global

    秒級加字段功能的開關,取值范圍如下:

    • ON:開啟秒級加字段功能。

    • OFF(默認):關閉秒級加字段功能。

  • 語句

    • 指定ALGORITHM=INSTANT以強制使用秒級加字段功能,語句示例如下:

      ALTER TABLE test.t ADD COLUMN test_column int, ALGORITHM=INSTANT;

      使用上述語句時,若返回ERROR 0A000: ALGORITHM=INSTANT is not supported for this operation. Try ALGORITHM=COPY/INPLACE. 的錯誤,表示當前加列操作不能以Instant算法執行,建議您查看loose_innodb_support_instant_add_column參數是否已開啟,并仔細核對使用限制

    • 不指定ALGORITHM或指定ALGORITHM=DEFAULTPolarDB會自行選擇執行速度最快的算法來執行加列操作,語句示例如下:

      ALTER TABLE test.t ADD COLUMN test_column int, ALGORITHM=DEFAULT;
      ALTER TABLE test.t ADD COLUMN test_column int;
      說明

      PolarDB算法選擇的優先級為INSTANT > INPLACE > COPY。

  • 查看通過Instant算法增加的列信息

    對于PolarDB MySQL版5.6版本和PolarDB MySQL版5.7版本,INFORMATION_SCHEMA數據庫中新增了INNODB_SYS_INSTANT_COLUMNS表。該表記錄了使用Instant算法增加的列信息,例如列名、列序號和默認值(二進制方式存儲)等。您可通過如下語句查看該表詳情來確認新增的列信息。

    SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_INSTANT_COLUMNS;
    說明

    對目標表使用了Instant算法增加列后,如果執行了需要重建表的DDL操作(如DROP COLUMN),系統將會刪除INNODB_SYS_INSTANT_COLUMNS表中目標表的相關列信息。

    對于PolarDB MySQL版8.0版本,您可通過如下語句查看表的列信息,若查詢結果中has_default列為1,則說明該列是通過Instant算法增加的。

    SELECT * FROM INFORMATION_SCHEMA.INNODB_COLUMNS WHERE TABLE_ID = (SELECT TABLE_ID FROM INFORMATION_SCHEMA.INNODB_TABLES WHERE NAME = "test/t1");

相關視頻

聯系我們

若您對DDL操作有任何疑問,可通過釘釘搜索群號入群咨詢。您可以直接@群內專家,并附上您要咨詢的問題;同時群內也有PolarDB MySQL版小助手24*7小時在線回答您的問題。釘釘群號:15375044501。