Utilizar a métodologia subconsulta nos JOINS utilizando o SELECT junto do WHERE, ao invés de realizar todos os JOINS e apenas depois adicionar o WHERE final seria uma métodologia válida de otimização, além dos índices? já houveram problemas passados onde houve uma sobrecarga de índices utilizados em tabela degradaram a otimização das execuções como um todo do banco.
Exemplo com base na dúvida em questão
EXPLAIN (ANALYZE, FORMAT JSON) SELECT
c_filtrado.NOME AS nome_cliente, c_filtrado.CPF, c_filtrado.CIDADE,
v_filtrado.NOME AS nome_vendedor, v_filtrado.MATRICULA,
p_filtrado.NOME_DO_PRODUTO, p_filtrado.EMBALAGEM, p_filtrado.PRECO_DE_LISTA,
n_filtrado.DATA_VENDA, n_filtrado.IMPOSTO,
i.QUANTIDADE, i.PRECO,
(i.QUANTIDADE * i.PRECO) AS valor_venda,
((i.QUANTIDADE * i.PRECO) * (1 + n_filtrado.IMPOSTO / 100)) AS valor_com_imposto
FROM itens_notas_fiscais i
JOIN (
-- Subconsulta 1: Filtra NOTAS_FISCAIS
SELECT NUMERO, CPF, MATRICULA, DATA_VENDA, IMPOSTO
FROM notas_fiscais
WHERE DATA_VENDA BETWEEN '2020-01-01' AND '2023-12-31'
) n_filtrado ON i.NUMERO = n_filtrado.NUMERO
JOIN (
-- Subconsulta 2: Filtra TABELA_DE_PRODUTOS
SELECT CODIGO_DO_PRODUTO, NOME_DO_PRODUTO, EMBALAGEM, PRECO_DE_LISTA
FROM tabela_de_produtos
WHERE PRECO_DE_LISTA > 2.3
) p_filtrado ON i.CODIGO_DO_PRODUTO = p_filtrado.CODIGO_DO_PRODUTO
JOIN (
-- Subconsulta 3: Filtra TABELA_DE_CLIENTES
SELECT CPF, NOME, CIDADE, IDADE
FROM tabela_de_clientes
WHERE CIDADE IS NOT NULL
AND IDADE > 18
) c_filtrado ON n_filtrado.CPF = c_filtrado.CPF
JOIN (
-- Subconsulta 4: Filtra TABELA_DE_VENDEDORES
SELECT MATRICULA, NOME
FROM tabela_de_vendedores
WHERE DE_FERIAS = false
) v_filtrado ON n_filtrado.MATRICULA = v_filtrado.MATRICULA;