AnalyticDB for MySQL行存引擎,是面向行存表的高並發即時引擎,適用於基於主鍵的高並發點查和多列投影的快速查詢。本文為您介紹AnalyticDB for MySQL行存引擎的使用方法。
前提條件
AnalyticDB for MySQL叢集的產品系列為企業版、基礎版或湖倉版。
已在AnalyticDB for MySQL叢集中建立資源群組,任務類型為Interactive,且引擎類型為Serving。
叢集核心版本需為3.2.5及以上版本。
說明請在雲原生資料倉儲AnalyticDB MySQL控制台集群信息頁面,配寘資訊地區,查看和升級核心版本。
費用說明
計算資源:隨用隨付,按照Serving資源群組的ACU數量和單價收費。
儲存空間:隨用隨付,按照熱資料存放區空間價格收費。
詳細計費請參見產品定價。
支援的資料類型
分類 | 資料類型 | 說明 |
布爾類型 |
| 取值:true、false |
數實值型別 |
| 當前不支援decimal,可以通過以下配置將decimal類型自動轉換為double,但會導致精度損失。 |
字元類型 |
| 無 |
時間類型 |
| 無 |
複雜類型 |
| 複雜類型只支援基本讀寫操作,資料實際以二進位形式儲存,可正常序列化,但無法參與函數運算。 |
支援以下資料類型作為主鍵:
布爾類型:boolean
數實值型別:tinyint、smallint、int、bigint
字元類型:varchar、binary、blob
時間類型:date、time、datetime、timestamp
使用說明
建立行存表
CREATE TABLE:指定ENGINE = 'row_store'。
主鍵:表中需指定主鍵,不支援為空白,最多支援4列。
表欄位類型:不支援修改。
索引:預設為主鍵列索引,可手動給其他列建立索引;字串類型,也可通過
FULLTEXT INDEX建立全文索引。表生命週期:通過TTL管理表生命週期,最小單位為天。
建立樣本
CREATE DATABASE test_db;
CREATE TABLE test_db.row_store_table
(
a int NOT NULL,
b int,
c varchar,
PRIMARY KEY(a)
)
ENGINE = 'row_store'
TABLE_PROPERTIES = '{"row_store_ttl": 1}';
----手動建立索引----
CREATE TABLE test_db.row_store_table
(
a int NOT NULL,
b int,
c varchar,
PRIMARY KEY(a),
INDEX c_idx(c),
INDEX bc_idx(b, c)
)
ENGINE = 'row_store'
---建立全文索引---
CREATE TABLE test_db.row_store_table
(
a int NOT NULL,
b int,
c varchar,
PRIMARY KEY(a),
FULLTEXT INDEX c_idx(c),
)
ENGINE = 'row_store'資料操作
支援以下操作:
INSERT INTO:主鍵重複時,忽略插入資料。REPLACE INTO:主鍵重複時,使用新插入資料覆蓋老資料。INSERT ON DUPLICATE KEY UPDATEINSERT SELECT FROMINSERT OVERWRITE SELECTUPDATEDELETE
其他DDL操作樣本
加減列
--加列-- ALTER TABLE test_db.row_store_table ADD COLUMN bool boolean, ADD COLUMN STR varchar; --減列-- ALTER TABLE test_db.row_store_table DROP COLUMN bool;加減索引
--加索引-- ALTER TABLE test_db.row_store_table ADD INDEX c_idx(c); --減索引-- ALTER TABLE test_db.row_store_table DROP INDEX c_idx;TRUNCATE TABLE
TRUNCATE TABLE test_db.row_store_table;DROP TABLE
DROP TABLE test_db.row_store_table;
效能測試
在TPCH 10GB的測試資料集下,AnalyticDB for MySQL行存引擎整體點查效能提升10倍+,RT降低80%+,效能詳細結果如下。
測試情境 | 並發數 | QPS | RT |
PK點查 | 50 | 5259.0/s | 9ms |
100 | 10481.1/s | 9ms | |
300 | 31347.0/s | 9ms | |
500 | 42257.3/s | 11ms | |
1000 | 82103.0/s | 12ms | |
多PK點查( | 100 | 2611/s | 38ms |
300 | 4422.3/s | 67ms | |
500 | 6829.7/s | 72ms | |
1000 | 6075.8/s | 163ms |