En este tema se describe cómo solucionar los errores comunes de las consultas SQL. Se incluyen a continuación tipos de error: OTSUnsupportOperation, OTSQuotaExhausted, OTSParameterInvalid y OtsRequestTimeout.
OTSUnsupportOperation
Mensaje de error | Descripción | Solución |
Operation not supported | El SQL de Tablestore solo admite algunas instrucciones SQL. Si ejecuta una instrucción SQL que Tablestore no admite, se reporta un error. | Ejecute únicamente las instrucciones SQL que Tablestore admite. Las instrucciones SQL compatibles con Tablestore se actualizan de forma periódica. Visite el sitio web oficial para obtener la información más reciente sobre las instrucciones SQL admitidas. Para más información, consulte SQL support. |
text_match is only supported for TEXT field in filter conditions in search index | Se usaron de manera incorrecta text_match y text_match_phrase. Estas funciones solo se pueden aplicar como condiciones de filtro en campos Text de los índices de búsqueda. | Utilice correctamente la función de búsqueda de texto completo. Para más información, consulte Search index operations. |
text_match_phrase is only supported for TEXT field in filter conditions in search index |
OTSQuotaExhausted
Mensaje de error | Descripción | Solución |
The sql scanned rows of kv exceeds the quota! Search quota is 100000 rows, table quota is 100000 rows | Al usar el motor KV como motor de consulta, la cantidad de filas o el volumen de datos analizados supera el límite máximo. | Use índices secundarios o índices de búsqueda para acelerar las consultas de datos. Para más información, consulte Index selection policy.
Nota El número máximo de filas que se pueden analizar es 100,000, el volumen máximo de datos es 128 MB y el tiempo de espera del análisis es 30 segundos. |
The sql scanned rows of search exceeds the quota! Search quota is 100000 rows, table quota is 100000 rows | Al usar un índice de búsqueda como motor de consulta, la cantidad de filas o el volumen de datos analizados supera el límite máximo. |
|
The sql duration time exceed the quota! Quota is 30 seconds | La ejecución de la instrucción SQL superó el tiempo de espera. | Use índices secundarios o índices de búsqueda para acelerar las consultas de datos. Para más información, consulte Index selection policy.
|
OTSParameterInvalid
Mensaje de error | Descripción | Solución |
Field type mismatch, actual: STRING, expect: INTEGER, col: xxx, primary key: {"PrimaryKeys":[{"ColumnName":"xxx","Value":"xxx","PrimaryKeyOption":0}]} | Los tipos de datos de las columnas de atributo en la tabla de datos no coinciden con los tipos de datos de las columnas de atributo en SQL. | Las tablas de datos en Tablestore no requieren esquemas. Por lo tanto, puede escribir datos de varios tipos en una misma columna de atributo. En cambio, los campos en SQL sí requieren esquemas y cada campo debe tener un tipo específico. Cuando use SQL para consultar datos, asegúrese de que los tipos de datos de las columnas de atributo en las tablas coincidan con los definidos en SQL. Con base en el mensaje de error devuelto, modifique el tipo de datos de la columna correspondiente en la fila indicada de la tabla. |
Table 'instancename.tablename' doesn't exist | No existe la tabla para la cual intenta crear una tabla de asignación. | La instrucción CREATE TABLE de SQL permite crear una tabla de asignación únicamente para una tabla o un índice de búsqueda existente. Compruebe que exista la tabla o el índice de búsqueda para el cual desea crear la asignación. Para más información, consulte Create a mapping table for a table y Create mapping tables for search indexes. |
Table 'instancename.tablename' already exist | Ya se creó una tabla de asignación para esta tabla. | Ejecute la instrucción |
Field type 'DECIMAL(11,0)' is not supported | SQL no admite el tipo de datos DECIMAL. | Las consultas SQL solo admiten algunos tipos de datos. Para más información, consulte Data type mappings in SQL. |
Search engine: length of field value is longer than 32 for the [WILDCARD_QUERY] query | La condición que incluye el operador LIKE supera los 32 caracteres de longitud. | Reduzca la longitud de la cadena de consulta o utilice una consulta de frase coincidente (match phrase query). Para más información, consulte What do I do if the "length of field value is longer than 32 for the [WILDCARD_QUERY] query" error occurs when I use wildcard query? |
Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column | La instrucción SQL utilizada en la consulta contiene la cláusula GROUPBY, pero no incluye funciones de agregación. | Especifique las funciones de agregación en la instrucción SQL. Para más información, consulte Query data. |
Offset + limit exceeds the quota! quota is 150000 rows | La suma de los valores de los parámetros offset y limit supera el límite permitido. Por ejemplo, si el valor de offset es a, el de limit es b y la suma de ambos excede el límite, se reporta este error. El límite máximo es 150,000. | Asegúrese de que la suma de los valores de offset y limit no supere las 150,000 filas. |
Unknown column 'xxx' in field list | Un nombre de campo especificado en la instrucción SQL no está incluido en la tabla de asignación. | Este mensaje de error aparece cuando agrega un campo a una tabla de datos, pero no lo incluye en la tabla de asignación creada para dicha tabla. La tabla de asignación debe incluir el campo sobre el cual se basa la consulta SQL. Si agrega un campo a la tabla de datos, también debe agregarlo a la tabla de asignación correspondiente. Para más información, consulte Update the attribute columns of a mapping table. |
OtsRequestTimeout
|
Mensaje de error |
Descripción |
Solución |
|
Search engine: search timeout, please retry |
Durante la consulta se accedió al índice de búsqueda y la ejecución superó el tiempo de espera. |
Compruebe si la función de consulta que desea utilizar requiere configurar reglas predefinidas en el índice de búsqueda. Por ejemplo, si va a usar la cláusula ORDER BY, configure la preclasificación al crear el índice de búsqueda. Para más información, consulte Create a search index. Si el método de preclasificación de un índice existente no cumple con sus necesidades, modifíquelo de forma dinámica mediante el esquema del índice de búsqueda. Para más información, consulte Dynamically modify search index schema. |