# Troubleshooting: Corrigindo erros de execução de query no Data Warehouse

Executar consultas excessivamente pesadas pode levar ao travamento do container de processamento. Como medida de reação, o sistema realiza até três tentativas automáticas de execução. Caso a falha persista, o processo é encerrado para proteger a integridade do ambiente.&#x20;

Este artigo orienta você na investigação desses erros e na aplicação de técnicas de otimização para estabilizar seus DataJobs.&#x20;

### Sinais do erro

O erro é identificado de duas formas:

* **No Skyone Studio:** A mensagem de erro "*Multiple attempts were made to process the query. Optimize the query and run it again* aparecerá diretamente na interface, na aba Saída, do Data Warehouse.
* **No Fluxo:** O usuário receberá um e-mail automático informando sobre a falha na execução.

#### O que isso significa?

Esta mensagem indica que o sistema realizou três tentativas consecutivas de executar a query, mas todas falharam. Geralmente, isso ocorre porque a consulta é excessivamente pesada (ex: processamento de centenas de milhares de linhas), causando o travamento e a reinicialização automática do container de execução.

### Investigação e diagnóstico

Para resolver o problema, é necessário identificar se a query que falhou é a causa raiz ou uma vítima colateral. Verifique os seguintes pontos:

#### 1. Revisão de Lógica

O primeiro passo para a correção é revisar a lógica da query e verificar se o volume de dados excede a capacidade do ambiente.

#### 2. Problema da execução em paralelo

Muitas queries podem rodar simultaneamente no mesmo ambiente. Uma única query "culpada" pode consumir todos os recursos (memória/CPU), derrubando o container e gerando erros para todas as outras consultas que estavam em execução no momento.

* **Ação:** Analise o que estava rodando simultaneamente para isolar a query que causou a falha.

### Melhores práticas para prevenção e correção

Siga estas recomendações de otimização para evitar travamentos:

#### Otimização de consultas (SQL)

* **Uso de `LIMIT`:** Ao realizar testes ou seleções em grandes volumes, utilize a cláusula `LIMIT` para restringir a carga inicial de dados.
* **Refatoração de colunas:** Evite o uso de `SELECT *`. Especifique apenas as colunas necessárias para reduzir a carga de processamento.

#### Configurações de memória e DuckDB

* **Gerenciamento de Memória:** Verifique se a query está dimensionada corretamente para os limites de memória do container.
* **Ajustes de parâmetros:** Considere adicionar configurações específicas do DuckDB para melhorar a estabilidade e a performance em operações complexas.

{% hint style="info" %}
Leia também: [Documentação DuckDB](https://duckdb.org/docs/stable/configuration/pragmas#resource-management)&#x20;
{% endhint %}

### Exemplo prático de ajuste

#### Cenário de erro

Abaixo, um exemplo de query que pode causar o esgotamento de recursos ao tentar carregar dados massivos sem filtros:

```sql
-- Query não otimizada: alto risco de travamento
SELECT * FROM banco_teste.tabela_gigante; 

```

#### Ajuste Recomendado

Ao aplicar filtros e limitar o escopo, o risco de queda do container é minimizado:

```sql
-- Query otimizada: focada em performance e estabilidade
SELECT id, nome, data_processamento 
FROM banco_teste.tabela_gigante 
WHERE data_processamento >= '2026-01-01'
LIMIT 1000;
```

{% hint style="info" %}
Se o erro persistir mesmo após a otimização, realize uma investigação de Troubleshooting à parte para verificar o log de atividades paralelas e a saúde do ambiente.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.skyone.cloud/skyone-studio/how-to/troubleshooting-corrigindo-erros-de-execucao-de-query-no-data-warehouse.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
