動態(tài)參數(shù)
更新時間:
描述
動態(tài)參數(shù)類似的數(shù)據(jù)庫中的PrepareStatement。用戶可以在SQL中設置placeholder(?表示),同時傳遞placeholder對應的值。引擎內部會自動替換。
動態(tài)參數(shù)主要用于提高Cache命中率,對于查詢模式固定的場景性能提升明顯。
注意動態(tài)參數(shù)只能替換值,不支持關鍵字或字段替換。
示例
示例1
SELECT i1, cast(? as bigint) FROM t1 WHERE (i2 > 5 AND d3 < 10.1) OR s5 = ?
為了替換掉SQL中的動態(tài)參數(shù)(也就是"?"),具體如下:
dynamic_params:[[10, "str5"]]
示例2
SELECT
price,
title,
compute(
longitude,
latitude,
city_id,
CAST(? AS double),
CAST(? AS double),
CAST(1 AS bigint)
) AS distance
FROM
store,
unnest(store.sub_table)
WHERE
MATCHINDEX('shop', ?)
AND QUERY(name, ?)
dynamic_params:[[119.98844256998,
36.776817017143,
"excellect",
"水果 OR 西瓜"]]
文檔內容是否對您有幫助?