Este tópico descreve como solucionar erros comuns em consultas SQL, incluindo os seguintes tipos de erros: OTSUnsupportOperation, OTSQuotaExhausted, OTSParameterInvalid e OtsRequestTimeout.
OTSUnsupportOperation
Mensagem de erro | Descrição | Solução |
Operation not supported | O Tablestore SQL oferece suporte apenas a algumas instruções SQL. Ao executar uma instrução SQL incompatível com o Tablestore, o sistema reporta um erro. | Execute instruções SQL compatíveis com o Tablestore. As instruções SQL compatíveis com o Tablestore são atualizadas regularmente. Acesse o site oficial para obter as informações mais recentes sobre as instruções SQL compatíveis com o Tablestore. Para mais informações, consulte Suporte a SQL. |
text_match is only supported for TEXT field in filter conditions in search index | text_match e text_match_phrase estão sendo usados incorretamente. Utilize text_match e text_match_phrase apenas para campos Text em índices de pesquisa como condições de filtro. | Utilize o recurso de pesquisa de texto completo corretamente. Para mais informações, consulte Operações de índice de pesquisa. |
text_match_phrase is only supported for TEXT field in filter conditions in search index |
OTSQuotaExhausted
Mensagem de erro | Descrição | Solução |
The sql scanned rows of kv exceeds the quota! Search quota is 100000 rows, table quota is 100000 rows | Ao utilizar o mecanismo KV como mecanismo de consulta, o número de linhas examinadas ou o volume de dados examinados excede o limite superior. | Utilize índices secundários ou índices de pesquisa para acelerar as consultas de dados. Para mais informações, consulte Política de seleção de índices.
null O número máximo de linhas que podem ser examinadas é 100.000, o volume máximo de dados que podem ser examinados é 128 MB e o tempo limite de varredura é de 30 segundos. |
The sql scanned rows of search exceeds the quota! Search quota is 100000 rows, table quota is 100000 rows | Ao utilizar um índice de pesquisa como mecanismo de consulta, o número de linhas examinadas ou o volume de dados examinados excede o limite superior. |
|
The sql duration time exceed the quota! Quota is 30 seconds | A execução da instrução SQL excedeu o tempo limite. | Utilize índices secundários ou índices de pesquisa para acelerar as consultas de dados. Para mais informações, consulte Política de seleção de índices.
|
OTSParameterInvalid
Mensagem de erro | Descrição | Solução |
Field type mismatch, actual: STRING, expect: INTEGER, col: xxx, primary key: {"PrimaryKeys":[{"ColumnName":"xxx","Value":"xxx","PrimaryKeyOption":0}]} | Os tipos de dados das colunas de atributos na tabela de dados não correspondem aos tipos de dados das colunas de atributos em SQL. | As tabelas de dados no Tablestore não exigem schemas. É possível gravar dados de múltiplos tipos em uma coluna de atributos. Os campos em SQL exigem schemas, e cada campo deve usar um tipo específico. Ao usar SQL para consultar dados, certifique-se de que os tipos de dados das colunas de atributos nas tabelas de dados correspondam aos tipos de dados das colunas de atributos em SQL. Altere o tipo de dados de uma coluna de atributos específica em uma linha específica da tabela de dados com base na mensagem de erro retornada. |
Table 'instancename.tablename' doesn't exist | A tabela para a qual você deseja criar uma tabela de mapeamento não existe. | Execute a instrução CREATE TABLE em SQL para criar uma tabela de mapeamento somente para uma tabela ou índice de pesquisa existente. Certifique-se de que a tabela ou o índice de pesquisa para o qual deseja criar uma tabela de mapeamento exista. Para mais informações, consulte Criar uma tabela de mapeamento para uma tabela e Criar tabelas de mapeamento para índices de pesquisa. |
Table 'instancename.tablename' already exist | Uma tabela de mapeamento já foi criada para a tabela. | Execute a instrução |
Field type 'DECIMAL(11,0)' is not supported | O SQL não oferece suporte ao tipo de dados DECIMAL. | As consultas SQL oferecem suporte apenas a alguns tipos de dados. Para mais informações, consulte Mapeamentos de tipos de dados em SQL. |
Search engine: length of field value is longer than 32 for the [WILDCARD_QUERY] query | A condição que inclui o operador LIKE excede 32 caracteres. | Reduza o comprimento da string de consulta ou utilize match phrase query. Para mais informações, consulte O que fazer se o erro "length of field value is longer than 32 for the [WILDCARD_QUERY] query" ocorrer ao usar wildcard query? |
Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column | A instrução SQL utilizada para uma consulta contém a cláusula GROUPBY, mas não contém funções de agregação. | Especifique funções de agregação na instrução SQL. Para mais informações, consulte Consultar dados. |
Offset + limit exceeds the quota! quota is 150000 rows | A soma dos valores dos parâmetros offset e limit excede o limite superior. Por exemplo, se o valor do parâmetro offset for a, o valor do parâmetro limit for b e a soma de a e b exceder o limite superior, este erro será reportado. O limite superior é 150.000. | Certifique-se de que a soma dos valores dos parâmetros offset e limit não exceda 150.000. |
Unknown column 'xxx' in field list | Um nome de campo especificado na instrução SQL não está incluído na tabela de mapeamento. | O sistema retorna esta mensagem de erro ao adicionar um campo a uma tabela de dados sem adicioná-lo à tabela de mapeamento criada para a tabela de dados. A tabela de mapeamento deve incluir o campo utilizado na consulta SQL. Ao adicionar um campo à tabela de dados, adicione também o campo à tabela de mapeamento criada para a tabela de dados. Para mais informações, consulte Atualizar as colunas de atributos de uma tabela de mapeamento. |
OtsRequestTimeout
Mensagem de erro | Descrição | Solução |
Search engine: search timeout, please retry | O índice de pesquisa é acessado durante a execução da consulta e a consulta excede o tempo limite. | Verifique se o recurso de consulta que deseja utilizar exige a configuração de regras predefinidas para o índice de pesquisa. Por exemplo, para utilizar a cláusula ORDER BY, configure a pré-ordenação ao criar um índice de pesquisa. Para mais informações, consulte Criar um índice de pesquisa. Se o método de pré-ordenação de um índice de pesquisa existente não atender aos requisitos, modifique o método de pré-ordenação alterando dinamicamente o schema do índice de pesquisa. Para mais informações, consulte Modificar o schema do índice de pesquisa dinamicamente. |