全部產品
Search
文件中心

AnalyticDB:使用限制

更新時間:May 14, 2026

為保障叢集的穩定及安全,AnalyticDB for MySQL有以下使用限制。

命名約束

對象

命名規則

資料庫名

  • 長度不超過64個字元。

  • 以小寫字元開頭。

  • 可包含字母、數字以及底線(_)。

  • 不能包含連續兩個及以上的底線(_)。

  • 不能是analyticdb,analyticdb是內建資料庫。

表名

  • 長度為1~127個字元。

  • 以字母或底線(_)開頭。

  • 可包含字母、數字以及底線(_)。

  • 不能包含引號、驚嘆號(!)和空格。

  • 不能是SQL保留關鍵字。

列名

  • 長度為1~127個字元。

  • 以字母或底線(_)開頭。

  • 可包含字母、數字以及底線(_)。

  • 不能包含引號、驚嘆號(!)和空格。

  • 不能是SQL保留關鍵字。

索引名

長度不能超過64個字元。

帳號名

  • 長度規則:

    • 3.1.9.4以下核心版本,長度為2~16。

    • 3.1.9.4及以上核心版本,長度為2~64。

  • 以小寫字母開頭。

  • 以小寫字母或數字結尾。

  • 可包含小寫字母、數字以及底線(_)。

密碼

  • 長度為8~32個字元。

  • 至少包含大寫字母、小寫字母、數字以及特殊字元中的三項。

  • 特殊字元為!@#¥%^&*()_+-=。

叢集配額

限制

預設值

說明

每個阿里雲帳號可購買叢集數量的最大值

30

每個阿里雲帳號最多可購買30個叢集。若您想修改該值,請提交工單聯絡支援人員。

每個叢集可建立資料庫的最大值

2048

無

每天叢集擴容、縮容或變更配置的總次數

12

無

數倉版預留模式叢集節點磁碟空間閾值

80%

超過閾值後,叢集會警示。一個使用者一天最多收到4次磁碟空間超過閾值的警示。

90%

超過閾值後,叢集會警示,且叢集會鎖定,資料無法寫入。一個使用者一天最多收到4次磁碟空間超過閾值的警示。

數倉版彈性模式叢集一組彈性IO資源的熱資料量最大值

8 TB

一組彈性IO資源的熱資料量超過8 TB時,叢集會鎖定,資料無法寫入。解決辦法:擴容彈性IO資源。

湖倉版叢集一組儲存預留資源的熱資料量最大值

8 TB

一組儲存預留資源的熱資料量超過8 TB時,叢集會鎖定,資料無法寫入。解決辦法:擴容儲存預留資源。

每個叢集可建立普通帳號的最大值

256

無

每個叢集的最大串連數

建議不超過50000

AnalyticDB for MySQL叢集的串連數沒有限制,但與叢集的規格相關。對於小規格的叢集來說,串連數過多會導致資源不足,無法承載。

每個叢集中的白名單分組的最大值

50

無

每個白名單分組中IP個數的最大值

1000

無

每個叢集中IP白名單個數的最大值

25000

無

每個叢集中分區數的最大值

102400

AnalyticDB for MySQL叢集中所有表的分區數之和不能超過102400。若叢集中分區數超過102400,則不能再建立分區表。

您可以使用如下語句查詢每個資料庫中所有表的分區數:

SELECT SUM(partition_count) FROM  INFORMATION_SCHEMA.KEPLER_META_TABLES WHERE table_engine_name IN ("CSTORE", "XUANWU", "XUANWU_V2");

每個企業版或基礎版叢集中內表數量的最大值

80000/(Shard個數/預留資源群組數)

  • Shard個數/預留資源群組數向上取整。
  • 企業版預留資源群組數=預留資源節點數/3。
  • 基礎版預留資源群組數=預留資源節點數。

提高內表數量上限的方法:

每個湖倉版或數倉版彈性模式叢集中內表數量的最大值

[80000/(Shard個數/EIU組數)]*2

  • Shard個數/EIU組數向上取整。
  • 湖倉版EIU組數=儲存預留資源/24 ACU。
  • 數倉版彈性模式EIU組數=彈性IO資源群組數。

提高內表數量上限的方法:

每個數倉版預留模式叢集(具備1~20個節點群組)中表數量的最大值

80000/(Shard個數/節點群組數)

Shard個數/節點群組數向上取整。

增加節點群組數量可以提高數倉版預留模式叢集內表數量的上限。

每個叢集中外表數量的最大值

50萬張

無

每張表中列數的最大值

4096

無

分區(Shard)內單個分區儲存資料量的最大值

21億條

每個分區(Shard)內的單個分區最大可儲存21億條資料。

表中COMMENT最大長度

1024個字元

無

列中COMMENT最大長度

1024個字元

無

每列中單個欄位的最大長度

16 MB

無

每行寫入資料的最大長度

16 MB

無

列預設值長度

127個字元

無

每個查詢包含的列數的最大值

1024

調整參數值:SET adb_config MAX_SELECT_ITEMS_COUNT=1000;。

調大該參數可能影響叢集穩定性,不建議自行調整。

WHERE條件中ITEM最大值

256

無

IN中條件數的最大值

  • 核心版本3.2.8以下的叢集,預設值是4000。

  • 核心版本3.2.8及以上的叢集,預設值為20000。

調整參數值:SET adb_config MAX_IN_ITEMS_COUNT=3000;。

參數調整過大時,SQL過於複雜會影響查詢效能。

逾時說明

操作

時間限制(ms)

逾時說明

建立叢集

600000

無

刪除叢集

300000

無

擴容叢集

600000

無

建立資料庫

10000

無

刪除資料庫

10000

無

建立表或視圖

10000

無

刪除表或視圖

10000

無

清空表(TRUNCATE TABLE)

60000

無

新增列

10000

無

刪除列

60000

無

更新列

60000

無

單次查詢

1800000

單次查詢的執行逾時時間。逾時後,系統自動終止查詢。

配置以下參數,可以修改單次查詢的執行逾時時間。

  • 配置名:QUERY_TIMEOUT

  • Hint的形式:query_timeout

說明

檢測查詢逾時的線程執行頻率為1000ms/次,設定單次查詢時間需大於1000ms,否則可能會不生效。

寫入資料(INSERT INTO)

300000

無

  • INSERT SELECT FROM

  • INSERT UPDATE FROM

  • INSERT DELETE FROM

24*3600000

執行逾時時間。逾時後,系統自動終止執行。

配置以下參數,可以修改SQL語句的執行逾時時間。

  • 配置名:INSERT_SELECT_TIMEOUT

  • Hint的形式:insert_select_timeout

常見問題

叢集的分區數就是表的分區數嗎?

是的。假設叢集的分區數是32,則表示表的分區數是32。

如何查詢分區數(Shard個數)?

  • 在建立AnalyticDB for MySQL叢集時,Shard的數量就已確定。數倉版叢集可以在建立後修改叢集Shard個數,而企業版、基礎版及湖倉版則不支援修改。

    您可以參考下表,瞭解規格和Shard個數的對應關係。

    企業版、基礎版、湖倉版、數倉版彈性模式

    預留資源群組數/EIU組數/彈性IO資源群組數

    Shard個數

    0、1

    64

    2~3

    64

    4~7

    96

    8~15

    256

    16~31

    384

    32~63

    512

    >=64

    1024

    說明
    • 企業版預留資源群組數=預留資源節點數/3。

    • 基礎版預留資源群組數=預留資源節點數。

    • 湖倉版EIU組數=儲存預留資源/24 ACU。

    數倉版預留模式

    節點群組數

    Shard個數

    1

    16

    2~3

    64

    4~7

    96

    8~15

    236

    16~31

    384

    32~63

    512

    >64

    1024

  • 您也可以執行SQL查詢叢集的Shard個數:SELECT count(1) FROM information_schema.kepler_meta_shards;。