Objetivo da mudança:
Melhorar o desempenho da consulta de notas fiscais eletrônicas (NF-e) na tabela NFEIMP e otimizar a estrutura da tabela através da criação de índices e modificação de colunas.
Explicação:
Parte 1: foram definidos comandos SQL para criar novos índices (IDX_NFEIMP_101 a IDX_NFEIMP_104) na tabela NFEIMP para as colunas NFE_MOVFIS, NFE_MOVEXT, NFE_GERAJU e NFE_REFNFE.
Adicionalmente, as colunas NFE_MOVFIS, NFE_MOVEXT e NFE_GERAJU foram modificadas para CHAR (1) com valor padrão ‘N’, substituindo o uso de IFNULL nas consultas e permitindo melhor aproveitamento dos índices;
Parte 2: o SELECT fornecido, que busca NF-es para importação sob condições específicas (liberadas para desenvolvedor, não importadas, de uma empresa e marketplace específicos, e com lógicas complexas de exclusão baseadas em CFOPs, status e existência de notas referenciadas), foi modificado.
As condições ( N.NFE_MOVFIS = ‘S’ OR N.NFE_MOVEXT = ‘S’ ) e ( N.NFE_GERAJU = ‘N’ ) no subselect foram alteradas para utilizar diretamente os valores das colunas (sem IFNULL), visando o uso dos novos índices e a otimização da consulta.
Instruções sobre o que configurar:
Executar os comandos SQL da Parte 1 no banco de dados AUTCOM para criar os índices e alterar as colunas. Substituir a query original na aplicação pela query otimizada da Parte 2.
Instruções sobre como utilizar:
Após a aplicação das alterações no banco de dados e na query da aplicação:
-
Verificar se as rotinas que utilizam esta consulta (provavelmente relacionadas à importação de NF-e e listagem de pendências) apresentam um desempenho mais rápido;
-
Confirmar se os resultados da consulta permanecem corretos e consistentes com o comportamento esperado.