為表欄位選擇合理的資料類型,不僅能夠提升資料庫的效能和儲存效率,還能有助於維護資料庫資料的完整性和可讀性,並增強資料庫的安全性和一致性。本文為您介紹ApsaraDB for SelectDB所支援的資料類型。您也可以通過SHOW DATA TYPES;語句,快速查看SelectDB支援的所有資料類型。
數實值型別
類型名稱 | 位元組數 | 描述 |
BOOLEAN | 1 | 布爾值。 0:false 1:true |
TINYINT | 1 | 有符號整數。 值範圍:[-128, 127] |
SMALLINT | 2 | 有符號整數。 值範圍:[-32768, 32767] |
INT | 4 | 有符號整數。 值範圍:[-2147483648, 2147483647] |
BIGINT | 8 | 有符號整數。 值範圍:[-9223372036854775808, 9223372036854775807] |
LARGEINT | 16 | 有符號整數。 值範圍:[-2^127 + 1 ~ 2^127 - 1] |
FLOAT | 4 | 浮點數。 值範圍:[-3.4*10^38 ~ 3.4*10^38] |
DOUBLE | 8 | 浮點數。 值範圍:[-1.79*10^308 ~ 1.79*10^308] |
DECIMAL | 4/8/16 | 高精度定點數。 定義格式:
|
日期類型
類型名稱 | 位元組數 | 描述 |
DATE | 16 | 日期類型。 取值範圍:['0000-01-01', '9999-12-31'] 預設輸出格式: |
DATETIME | 16 | 日期時間類型。 定義格式: 說明 P:
取值範圍:['0000-01-01 00:00:00[.000000]', '9999-12-31 23:59:59[.999999]'] 預設輸出格式: |
字串類型
類型名稱 | 位元組數 | 描述 |
CHAR | M | 定長字串。 定義格式: 說明 M代表的是定長字串的位元組長度。 佔用空間大小:1~255個位元組。 |
VARCHAR | 不定長 | 變長字串。 定義格式: 說明
佔用空間大小:1~65533個位元組。 |
STRING | 不定長 | 變長字串。 預設佔用的最小空間:1048576位元組(1 MB) 最大佔用的空間大小:2147483643位元組(2 GB) 重要
|
半結構類型
類型名稱 | 位元組數 | 描述 |
ARRAY | 不定長 | 由T類型元素組成的數組。 定義格式:ARRAY<T> 說明
使用注意事項:
|
MAP | 不定長 | 由K,V類型元素組成的Map。 定義格式:MAP<K,V> 說明 K,V支援的類型: 使用注意事項:
|
STRUCT | 不定長 | 由多個Field組成的結構體,也可被理解為多個列的集合。 定義格式:STRUCT<field_name:field_type, ... > 說明
使用注意事項:
|
JSON | 不定長 | 採用二進位JSON格式儲存,通過JSON函數訪問JSON內部欄位。 預設支援的空間大小:1048576位元組(1MB) 最大支援的空間大小:2147483643位元組(2GB) 說明 可通過參數 |
VARIANT | 不定長 | 動態可變資料類型,專為半結構化資料如JSON設計,可以存入任意JSON,自動將JSON中的欄位拆分成子列儲存,提升儲存效率和查詢分析效能。VARIANT類型特別適用於處理複雜的嵌套結構,而這些結構可能隨時會發生變化。 使用注意事項:
重要 要求SelectDB核心版本 |
彙總類型
類型名稱 | 位元組數 | 描述 |
HLL | 不定長 | HLL是模糊去重,在資料量大的情況效能優於Count Distinct。 使用注意事項:
|
BITMAP | 不定長 | 用於精確去重,如 UV 統計,人群圈選等情境。 使用注意事項:
|
QUANTILE_STATE | 不定長 | 用於計算分位元近似值的類型。 在匯入資料時會對相同的Key列,不同Value進行預彙總。
使用注意事項:
|
AGG_STATE | 不定長 | 彙總函式。 用於彙總計算加速,且只能配合 使用注意事項:
|
IP類型
以下資料類型,僅SelectDB核心版本4.0.0或以上支援,如不滿足,請升級執行個體核心版本,如何升級,請參見升級核心版本。
類型名稱 | 位元組數 | 描述 |
IPv4 | 4位元組 | 以4位元組二進位儲存IPv4地址,配合ipv4_*系列函數使用。 |
IPv6 | 16位元組 | 以16位元組二進位儲存IPv6地址,配合ipv6_*系列函數使用。 |