天天看點

[Phoenix] 三、DML文法

select

upsert values

upsert select

delete

[Phoenix] 三、DML文法

從一個或者多個表中查詢資料。

LIMIT(或者FETCH FIRST) 在ORDER BY子句後将轉換為top-N查詢。

OFFSET子句指定傳回查詢結果前跳過的行數。

示例

[Phoenix] 三、DML文法

此處upsert語義有異于标準SQL中的Insert,當寫入值不存在時,表示寫入資料,否則更新資料。其中列的聲明是可以省略的,當省略時,values指定值的順序和目标表中schema聲明列的順序需要一緻。

ON DUPLICATE KEY是4.9版本中的功能,表示upsert原子寫入的語義,在寫入性能上弱于非原子語義。相同的row在同一batch中按照執行順序寫入。

[Phoenix] 三、DML文法

從另外一張表中讀取資料寫入到目标表中,如果資料存在則更新,否則插入資料。插入目标表的值順序和查詢表指定查詢字段一緻。當auto commit被打開并且select子句沒有聚合時,寫入目标表這個過程是在server端完成的,否則查詢的資料會先緩存在用戶端再寫入目标表中(phoenix.mutate.upsertBatchSize表示從用戶端一次commit的行數,預設10000行)。

[Phoenix] 三、DML文法

删除標明的列。如果auto commit打開,删除操作将在server端執行。

<a href="https://phoenix.apache.org/language/index.html">https://phoenix.apache.org/language/index.html</a>