Boa tarde,
Realizamos uma consultoria com um DBA, onde nos orientou para criar de alguns índices direto no banco, nossa pratica sempre foi criar índice via configurador, segue exemplo de um índice solicitado a ser criado:
CREATE INDEX [IXF2_SERIE_Includes] ON [DADOSDZ].[dbo].[SF2010] ([F2_SERIE]) INCLUDE ([F2_DOC], [F2_EMISSAO], [F2_EST], [F2_VALBRUT], [F2_TRANSP], [F2_VEND1], [F2_CLIENT], [D_E_L_E_T], [F2_CHVNFE], [F2_X_UENT], [F2_X_DENT]) WITH (FILLFACTOR=100);
A criação do índice direta no banco poderia prejudicar o Protheus?
Att,
Edson
Edson,
Só afetaria o Protheus caso o nome seguisse a mesma nomenclatura que o Configurador e o ERP em geral utiliza, que pelo seu exemplo, não está assim, então sem problemas.
É valido ressaltar que esse índice não será aberto na tabela SF2
por padrão, ou seja, você não conseguirá utilizar dele via DBSetOrder
, somente abrindo ele de forma manual (isso sim poderia causar algum impacto imprevisto), porém em caso de query, o banco já utilizaria desse índice por conta quando necessário, é uma prática inclusive bem comum criar índices para melhorar a performance de uma consulta SQL.
Obs.: Existem alguns pontos do Protheus que manipulam as tabela, como o UpdDistr e o Configurador, seria bom fazer um teste nesses cenários e verificar se seu índice não será excluído, pois caso seja, você terá de ficar atento para recriar o índice manualmente novamente.
Bom dia Daniel, realmente só será utilizada para query. Obrigado.
De nada Edson, fiz uma observação quanto a alteração de tabelas do Protheus que podem vir a interferir no seu índice, seria legal efetuar esse teste, criar um índice na tabela via Configurador e também rodar um UpdDistr, não são coisas que fazemos com muita frequência, mas vale o teste para estar preparado.
Puxa, já perguntei isso para muita gente e ninguém soube responder!!! Muito obrigado Daniel!!!
Uma pergunta: no UPDDISTR esses índices são apagados?