概要
動的パラメーターは、データベースのPrepareStatementと同様に機能します。SQLステートメントで疑問符(?)をプレースホルダーとして使用して、動的パラメーターを指定できます。エンジンは、プレースホルダーを動的パラメーターの値に自動的に置き換えます。
動的パラメーターは、主にキャッシュのヒット率を向上させるために使用されます。同じテンプレートに基づくSQLステートメントで動的パラメーターを使用すると、クエリのパフォーマンスが向上します。
動的パラメーターを使用して値のみを置き換えることができます。キーワードやフィールドを置き換えるために動的パラメーターを使用することはできません。
例
例1
SELECT i1, cast(? as bigint) FROM t1 WHERE (i2 > 5 AND d3 < 10.1) OR s5 = ?
次のサンプルコードは、動的パラメーターを指定する方法を示しています。
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",
"fruit OR watermelon"]]