概要
ビジネス要件に合わせて、クエリステートメントに kvpair 句を含めることができます。 kvpair 句は、キーと値のペアを指定します。
構文
kvpair={key}:{value};{key}:{value};....例
query=SELECT brand, COUNT(*) FROM phone &&kvpair=trace:INFO;formatType:full_jsonkvpair 句でサポートされているパラメーター
パラメーター | 有効な値 | デフォルト値 | 説明 |
trace | DISABLE, FATAL, ERROR, WARN, INFO, DEBUG, TRACE1, TRACE2, TRACE3, SCHEDULE, NOTSET | DISABLE | フロントエンドに表示されるクエリプロセス情報。 |
formatType/format | string, json, full_json, and flatbuffers | string | 返される結果の形式。 クエリが JSON 形式の場合は full_json を使用し、クエリを高速化したい場合は flatbuffers を使用することをお勧めします。 |
timeout | ulimit | SQL 設定によって決定されます。 | クエリのタイムアウト期間。単位:ミリ秒。 |
searchInfo | true, false | false | 検索情報を返すかどうかを指定します。 |
sqlPlan | true, false | false | SQL 実行プランに関する情報を返すかどうかを指定します。 |
forbitMergeSearchInfo | true, false | false | クエリ結果サーチャー (QRS) が列検索によって返された検索情報をマージしないように指定します。各列の詳細をクエリする場合は、このパラメーターを設定します。 |
resultReadable | true, false | false | format パラメーターが json または full_json に設定されている場合、JSON 形式で返される結果に改行を追加して読みやすくします。 |
parallel ( V3.8.0 より前のバージョンの Havenask に適用可能 ) | 1-16 | 1 | Searcher で並列最適化を有効にします。 Havenask のバージョンが 3.8.0 以降の場合は、新しい実装を使用してください。 注:新しい実装と古い実装は互換性がありません。同時に使用しないでください。 |
parallelTables ( V3.8.0 より前のバージョンの Havenask に適用可能 ) | 複数のテーブルを縦棒 (|) で区切ります。 このパラメーターは、parallel パラメーターと一緒に使用されます。 parallelTables パラメーターは、分割と並列処理をサポートするテーブルを指定し、結合操作に使用されます。 | ||
databaseName | QRS が対応する Searcher にアクセスするために使用するデフォルトのデータベース名を指定します。クエリステートメントで dbName.tableName 形式でテーブル名の前にデータベース名を指定すると、QRS は複数の Searcher に同時にアクセスすることもできます。 | ||
catalogName | default | カタログ名を指定します。カタログ名はテーブル名と同じにすることができます。 | |
lackResultEnable | true, false | false | 結果に列が欠落することを許可するかどうかを指定します。たとえば、結果に RPC タイムアウト列が欠落している可能性があります。 |
iquan.optimizer.debug.enable | true/false | false | iquan の最適化フェーズでデバッグを有効にするかどうかを指定します。 |
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 パラメーターを true に設定した場合、iquan.optimizer.force.limit.num パラメーターの値を LIMIT 句の値として指定します。 |
iquan.optimizer.join.condition.check | true/false | true | 結合するフィールドがハッシュフィールドである必要があるかどうかを指定します。 |
iquan.optimizer.force.hash.join | true/false | false | すべての結合ノードをハッシュ結合ノードに強制的に変換するかどうかを指定します。 |
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 | このパラメーターは、iquan.plan.cache.enable パラメーターまたは dynamic_params パラメーターと一緒に使用されます。 jni.post.optimize 値を使用することをお勧めします。 キャッシュを有効にすると、iquan は指定されたフェーズの結果をキャッシュに保存します。 dynamic_params パラメーターを指定すると、iquan は指定されたフェーズの結果のパラメーターを動的に置き換えます。 rel.post.optimize:Java コードで最適化された結果を返します。 jni.post.optimize:Java Native Interface (JNI) 呼び出しが実行された後、CPP コードで結果を返します。 |
iquan.plan.cache.enable | true / false | false | 現在の結果をキャッシュに保存するかどうかを指定します。 |
exec.source.id | "" | クエリステートメントによってアクセスされる特定の行を指定します。このパラメーターは、複数の交換が存在する場合に役立ちます。このパラメーターの値は、デフォルトでは時系列で生成されます。 | |
exec.source.spec | "" | 指定された形式でサービスのソースを指定します。 パーソナライゼーションプラットフォーム (TPP) からの推奨シナリオ:tpp-appid-abid-solutionid-ip。 その他のシナリオ:製品名-システム名-IP アドレス。 | |
dynamic_params | 二次元配列 | 該当なし | SQL ステートメントのプレースホルダーを置き換えるパラメーター値を指定します。 注:動的パラメーターを使用して、値が SQL ステートメントのプレースホルダーであるフィールドを置き換える場合は、動的パラメーターのデータ型がフィールドのデータ型と同じであることを確認してください。。 注:動的パラメーターに指定する値は二次元配列です。動的パラメーターの指定された値の各一次元配列は、SQL ステートメントに対応します。 |
urlencode_data | true / false | false | dynamic_params パラメーターの値が URL エンコードされている場合は、このパラメーターを true に設定します。 |
kvpair 句とクエリステートメントでパラメーターが指定されている場合、kvpair 句のパラメーターの設定が優先されます。
複数のキーと値のペアをセミコロン (;) で区切ります。セミコロン (;) の前後にスペースを指定しないでください。