Como melhorar performance do sql?
otimizar query
Uma dica é fazer os filtros no INNER JOIN e não no WHERE sempre que possível.
Então se colocar os filtros direto no INNER JOIN ele já reduz os itens consultados no começo da query.
Em uma consulta bem comum que liga os itens da nota com o cabeçalho ficaria algo assim, para pegar as notas da loja 2 dos últimos 5 dias ficaria assim:
Com o WHERE:
SELECT numero, codigo_loja, razao_social, ean, valor_unitario, quantidade
FROM venda_cabecalho c
INNER JOIN venda_itens i on (i.numero = c.numero and i.loja = c.loja)
WHERE c.codigo_loja = 2 and c.data > (current_date - 5)
Direto no INNER JOIN:
SELECT numero, codigo_loja, razao_social, ean, valor_unitario, quantidade
FROM venda_cabecalho c
INNER JOIN venda_itens i on (c.codigo_loja = 2 and c.data > (current_date - 5) and i.numero = c.numero and i.loja = c.loja)
Leia mais em: t.wikipedia.org/wiki/SQL