首頁(yè)
智能開(kāi)放搜索 OpenSearch
OpenSearch-高性能檢索版
開(kāi)發(fā)指南
SQL支持
SQL語(yǔ)法
查詢語(yǔ)句
動(dòng)態(tài)參數(shù)
動(dòng)態(tài)參數(shù)
更新時(shí)間:
描述
動(dòng)態(tài)參數(shù)類似的數(shù)據(jù)庫(kù)中的PrepareStatement。用戶可以在SQL中設(shè)置placeholder(?表示),同時(shí)傳遞placeholder對(duì)應(yīng)的值。引擎內(nèi)部會(huì)自動(dòng)替換。
動(dòng)態(tài)參數(shù)主要用于提高Cache命中率,對(duì)于查詢模式固定的場(chǎng)景性能提升明顯。
注意動(dòng)態(tài)參數(shù)只能替換值,不支持關(guān)鍵字或字段替換。
示例
示例1
SELECT i1, cast(? as bigint) FROM t1 WHERE (i2 > 5 AND d3 < 10.1) OR s5 = ?
為了替換掉SQL中的動(dòng)態(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 西瓜"]]
文檔內(nèi)容是否對(duì)您有幫助?