全部產品
Search
文件中心

:kvpair子句用法

更新時間:Jul 13, 2024

描述

為便於定製各種不同的應用,在查詢文法中引入kvpair,即key-value對。

文法格式

kvpair={key}:{value};{key}:{value};....

樣本

query=SELECT brand, COUNT(*) FROM phone &&kvpair=trace:INFO;formatType:full_json

支援的kvpair子句列表

參數名

取值範圍

預設值

參數說明

trace

DISABLE, FATAL,

ERROR,

WARN,

INFO,

DEBUG, TRACE1, TRACE2, TRACE3, SCHEDULE, NOTSET

DISABLE

在前端輸出查詢過程中的相關資訊

formatType/format

string, json,full_json, flatbuffers

string

返回結果類型

, json建議使用full_json格式,速度快建議為flatbuffers

timeout

ulimit

由sql配置決定

query查詢逾時限制,單位ms

searchInfo

true, false

false

是否返回search info資訊

sqlPlan

true, false

false

是否返回sql plan資訊

forbitMergeSearchInfo

true, false

false

qrs不合并各列search返回的searchInfo, 用於查各列的詳細資料

resultReadable

true, false

false

在format為json/full_json時,json中會加一些換行增加可讀性。

parallel (

Ha3 < 3.8.0適用

)

1-16

1

search上開啟多路並行最佳化。

Ha3 >= 3.8.0版本請使用新的實現

注意:新老實現不相容,請勿同時啟用。

parallelTables (

Ha3 < 3.8.0適用

)

多個table間用'|'分隔,

配合并行使用,表示哪些table可以支援拆分並行,主要用於join情境。

databaseName

指定預設dbName,用於qrs訪問對應的search,qrs也可以同時訪問多個search,需要在query子句的table前拼上dbName.tableName。

catalogName

default

指定catalog名字,可以於時序catalog名為table名的情境。

lackResultEnable

true, false

false

允許結果缺列,例如一列rpc逾時。

iquan.optimizer.debug.enable

true/false

false

是否開啟iquan的最佳化階段的debug功能。

iquan.optimizer.cte.enable

true/false

false

是否開啟CTE運算元合并最佳化,開啟後會自動合并相同的運算元。

iquan.optimizer.sort.limit.use.together

true/false

true

是否強制要求order by後一定要有limit。

iquan.optimizer.force.limit.enable

true/false

true

是否要求iquan強制添加limit。

iquan.optimizer.force.limit.num

ulimit

100

如果開啟了iquan.optimizer.force.limit.enable, iquan將這個選項的值作為limit的大小

iquan.optimizer.join.condition.check

true/false

true

是否強制要求join的欄位為hash欄位

iquan.optimizer.force.hash.join

true/false

false

是否強制讓所有的join節點都變為hash join

iquan.plan.format.version

string

""

用來告知iquan, 當前產出的執行計畫的格式版本。目前為plan_version_0.0.1, 使用者可以不制定這個值。

iquan.plan.format.type

json

json

iquan產出的執行計畫的格式。目前只支援json。

iquan.plan.prepare.level

rel.post.optimize

jni.post.optimize

jni.post.optimize

和cache或者動態參數配合使用。推薦jni.post.optimize.

當使用者開啟了cache, iquan會將指定階段的結果放入緩衝中;

當使用者開啟了動態參數, iquan會對指定階段的結果進行動態參數替換。

rel.post.optimize: 最佳化後的結果,在Java代碼中

jni.post.optimize: JNI調用返回後的結果,在Cpp代碼中。

iquan.plan.cache.enable

true / false

false

是否將當前的結果放入cache中。

exec.source.id

""

指定串訪問特定行,多exchange時有用,預設按時間產生。

exec.source.spec

""

指定業務方來源,請按照指定格式填寫。

TPP推薦情境:tpp-appid-abid-solutionid-ip。

其他情境:產品名-系統名-IP。

dynamic_params

二維數組

填入要替換的具體值。

注意:類型一致

注意:動態參數是一個二維數組;其中每一個一維數組對應一條SQL。

urlencode_data

true / false

false

如果對dynamic_params的內容做了urlencode,需要設定為true。

  1. kvpair和配置同時存在的項,以kvpair優先;

  2. 多個kvpair之間用 ; 隔開,中間不允許有空格