すべてのプロダクト
Search
ドキュメントセンター

OpenSearch:動的パラメーター

最終更新日:Dec 28, 2024

概要

動的パラメーターは、データベースの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"]]