Pular para o conteúdo

Documentação

Consultas

A bancada SQL, parâmetros, versões e o que acontece quando o resultado é grande demais.

A bancada

A bancada é um editor SQL com destaque de sintaxe e autocomplete alimentado pelo schema da conexão — nos engines que expõem schema. Rodar uma vez mostra o resultado, a duração e a contagem de linhas, e é o que você deve fazer antes de agendar qualquer coisa.

Parâmetros

Um parâmetro é escrito entre chaves duplas e vira um parâmetro real do driver, não uma concatenação de texto. Isso é o que impede que um valor com aspas vire injeção de SQL.

receita_por_regiao.sql
SELECT regiao,
       sum(total) AS receita
  FROM pedidos
 WHERE dia >= {{inicio}}
   AND dia <  {{fim}}
 GROUP BY 1
 ORDER BY 2 DESC

No agendamento você define o valor de cada parâmetro. Valores relativos à data da execução são resolvidos no fuso daquele agendamento, não no do servidor.

Versões

Cada vez que você salva, a versão anterior é guardada com autor e data. Dá para comparar duas versões e restaurar uma. É a resposta para a pergunta que sempre aparece depois de um número estranho num relatório: o que essa consulta fazia no mês passado.

Quando o resultado é grande

  • O teto de linhas por consulta vem do plano. Ao atingir o teto a execução para e o relatório sai marcado como truncado, em vez de entregar meio conjunto sem avisar.
  • Há um tempo limite por execução; uma consulta que estoura é cancelada no banco, não abandonada.
  • Para engines que cobram por dado varrido, a bancada mostra uma estimativa de custo antes de você rodar.