Artigos sobre intermediário
Como ler um plano de execução sem ser DBA
O EXPLAIN parece uma parede de texto técnico. Mas para achar o gargalo você só precisa de três informações dentro dele.
Por que sua query ignora o índice (e a função na coluna é a culpada)
O índice está criado, a coluna está no WHERE, e mesmo assim a query varre a tabela inteira. Quase sempre é uma função aplicada do lado errado.
UNION, UNION ALL e FULL JOIN: empilhar linha não é acoplar coluna
Parecem alternativas para o mesmo problema, mas resolvem coisas opostas. E o UNION sem o ALL cobra um preço que quase ninguém percebe.
EXISTS, IN ou COUNT: qual usar para saber se um registro existe
As três respondem 'esse cliente comprou?'. Só que uma delas conta tudo antes de responder — e é a que a maioria escreve por hábito.
Window functions: como agregar sem perder as linhas
GROUP BY resume e joga as linhas fora. O OVER() calcula o mesmo total e devolve cada linha inteira, com o resultado do lado.
CTE, subquery ou tabela temporária: qual usar para organizar uma query grande
As três servem para quebrar uma query em pedaços. A diferença está em quantas vezes você reusa o pedaço e em quanto tempo ele precisa durar.
A ordem em que o SQL realmente executa sua query (e por que isso muda tudo)
Você escreve SELECT primeiro, mas o banco executa por último. Entender a ordem real de execução explica metade dos erros de SQL que parecem mágica.