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

Tablestore:SQL クエリの一般的なエラーをトラブルシューティングする方法

最終更新日:Dec 28, 2024

このトピックでは、OTSUnsupportOperation、OTSQuotaExhausted、OTSParameterInvalid、OtsRequestTimeout などの、SQL クエリの一般的なエラーのトラブルシューティング方法について説明します。

エラーコードエラーメッセージ説明解決策
OTSUnsupportOperation操作はサポートされていませんTablestore SQL は、一部の SQL ステートメントのみをサポートしています。Tablestore でサポートされていない SQL ステートメントを実行すると、エラーが報告されます。Tablestore でサポートされている SQL ステートメントを実行します。

Tablestore でサポートされている SQL ステートメントは定期的に更新されます。 Tablestore でサポートされている SQL ステートメントの最新情報については、公式 Web サイトをご覧ください。Tablestore でサポートされている SQL ステートメントの詳細については、SQL 機能 を参照してください。

text_match is only supported for TEXT field in filter conditions in search indextext_match および text_match_phrase が正しく使用されていません。text_match および text_match_phrase は、検索インデックスの TEXT フィールドに対してのみフィルター条件として使用できます。全文検索機能を正しく使用してください。詳細については、全文検索 を参照してください。
text_match_phrase is only supported for TEXT field in filter conditions in search index
OTSQuotaExhaustedSQL がスキャンした KV の行数がクォータを超えています! 検索クォータは 100,000 行、テーブルクォータは 100,000 行ですKV エンジンをクエリエンジンとして使用する場合、スキャンされる行数またはスキャンされるデータ量が上限を超えています。
  • 検索インデックスを使用してクエリを高速化します。

    COUNT、SUM、AVG などの集計関数、または GROUPBY 句がクエリの SQL ステートメントに含まれている場合、または主キー以外を使用してクエリが実行される場合は、検索インデックスを構成してクエリを高速化することをお勧めします。

    検索インデックスが構成されているにもかかわらずエラーが引き続き報告される場合は、検索インデックスにクエリが実行されるフィールドが含まれているかどうかを確認してください。

  • 検索インデックスが構成されていない場合は、クエリ条件に主キー列が含まれており、左端一致の原則に準拠していることを確認してください。次に、limit パラメーターを SQL ステートメントに追加して、返される最大行数を指定します。
説明 スキャンできる最大行数は 100,000 行、スキャンできる最大データ量は 128 MB、最大スキャン時間は 30 秒です。
The sql scanned rows of search exceeds the quota! Search quota is 100000 rows, table quota is 100000 rows検索インデックスをクエリエンジンとして使用する場合、スキャンされる行数またはスキャンされるデータ量が上限を超えています。
  • limit パラメーターを SQL ステートメントに追加して、返される行数を制限します。
  • SQL ステートメントのクエリ条件を最適化して、一部の SQL 計算タスクを検索インデックスにプッシュダウンします。計算プッシュダウンの詳細については、計算プッシュダウン を参照してください。
The sql duration time exceed the quota! Quota is 30 secondsSQL ステートメントの実行がタイムアウトしました。
  • 検索インデックスを使用してクエリを高速化します。

    COUNT、SUM、AVG などの集計関数、または GROUPBY 句がクエリの SQL ステートメントに含まれている場合、または主キー以外を使用してクエリが実行される場合は、検索インデックスを構成してクエリを高速化することをお勧めします。

    検索インデックスが構成されているにもかかわらずエラーが引き続き報告される場合は、検索インデックスにクエリが実行されるフィールドが含まれているかどうかを確認してください。

  • 検索インデックスが構成されていない場合は、クエリ条件に主キー列が含まれており、左端一致の原則に準拠していることを確認してください。次に、limit パラメーターを SQL ステートメントに追加して、返される最大行数を指定します。
OTSParameterInvalidフィールドタイプの不一致、実際:STRING、期待:INTEGER、列:xxx、主キー:{"PrimaryKeys":[{"ColumnName":"xxx","Value":"xxx","PrimaryKeyOption":0}]}データテーブルの属性列のデータ型が、SQL の属性列のデータ型と一致しません。Tablestore のデータテーブルにはスキーマは必要ありません。複数のタイプのデータを属性列に書き込むことができます。SQL のフィールドにはスキーマが必要であり、各フィールドは特定の型を使用する必要があります。

SQL を使用してデータをクエリする場合、データテーブルの属性列のデータ型が SQL の属性列のデータ型と一致することを確認してください。返されるエラーメッセージに基づいて、データテーブルの特定の行の特定の属性列のデータ型を変更できます。

Table 'instancename.tablename' doesn't existマッピングテーブルを作成するテーブルが存在しません。SQL で CREATE TABLE ステートメントを実行して、既存のテーブルまたは検索インデックスのマッピングテーブルのみを作成できます。マッピングテーブルを作成するテーブルまたは検索インデックスが存在することを確認してください。詳細については、テーブルのマッピングテーブルの作成 および 検索インデックスのマッピングテーブルの作成 を参照してください。
Field type 'DECIMAL(11,0)' is not supportedSQL は DECIMAL データ型をサポートしていません。SQL クエリは一部のデータ型のみをサポートしています。詳細については、SQL でのデータ型マッピング を参照してください。
Search engine: length of field value is longer than 32 for the [WILDCARD_QUERY] query指定された LIKE 条件の長さが 32 文字を超えています。より短い LIKE 条件を指定してください。
Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated columnクエリに使用される SQL ステートメントに GROUPBY 句が含まれていますが、集計関数が含まれていません。SQL ステートメントで集計関数を指定します。詳細については、データのクエリ を参照してください。
Offset + limit exceeds the quota! quota is 150000 rowsoffset パラメーターと limit パラメーターの値の合計が上限を超えています。たとえば、offset パラメーターの値が a、limit パラメーターの値が b で、a と b の合計が上限を超えている場合、このエラーが報告されます。上限は 150,000 です。offset パラメーターと limit パラメーターの値の合計が 150,000 を超えないようにしてください。
Unknown column 'xxx' in field listSQL ステートメントで指定されたフィールド名がマッピングテーブルに含まれていません。

このエラーメッセージは、データテーブルにフィールドを追加したが、データテーブル用に作成されたマッピングテーブルにフィールドを追加しなかった場合に返されます。

クエリするフィールドをマッピングテーブルに追加します。詳細については、マッピングテーブルの属性列の更新 を参照してください。
OtsRequestTimeout検索エンジン:検索タイムアウト、再試行してくださいクエリの実行中に検索インデックスにアクセスされ、クエリの実行がタイムアウトしました。使用するクエリ機能で、検索インデックスに事前定義されたルールを構成する必要があるかどうかを確認します。たとえば、ORDER BY 句を使用する場合は、検索インデックスの作成時に事前ソートを構成できます。詳細については、検索インデックスの作成 を参照してください。