Existem várias dicas para melhorar a performance dos códigos desenvolvidos em X++, abaixo algumas que colhi da internet e outras da minha experiência como desenvolvedor.
1. Use aggregate functions
Não deixe de usar as funções sum, avg, minof, maxof e count se elas forem aplicaveis. Esta pequena mudança utiliza algoritimos da base de dados ao invés de ser calculado pelo X++, a performance é muito melhor.
2. Cache display method data
Sempre coloque os seus métodos display nas tabelas e use o método formDataSource.cacheAddMethod para fazer o cache do método no cliente.
3. Use field list
Field list pode usar implicitamente a condição firstonly e reduzir a quantidade de dados tranferidas do servidor para o cliente.
Ex.:
return (select custTable where
custTable.Account== ‘0001’).Name;
4. Mantenha o número de chamadas entre diferentes layers o menor possível, guarde os valores em variáveis locais ou use containers.
5. Use index hint com cuidado.
Se a base de dados for MSSQL 2000 ou maior, não coloque o index hint na instrução SQL, apenas tenha em mente que a otimização da base de dados é esperta o suficiente.
6. Use joins ao invés de multiplos selects. Joins inteligentes podem melhorar a performance significativamente.
7. Use preferencialmente as ações recordset-based
O operador Recordset-based como o Update_RecordSet, Insert_RecordSet, e Delete_From podem resultar em um número menor de chamadas à database.
8. Use instruções select no lugar de Query
Instruções select tem uma performance melhor na maioria das situações.
[]s
Pichler
2 Responses
Lucas
26|Feb|2009 1Parabéns pelo Blog, Ricardo.
Suas dicas são de grande utilidade no dia a dia com AX.
Abraço
Luiz
28|May|2009 2Ricardo, bom dia… toou “sapeando” pela net, afim de encontrar uma direção, vamos iniciar a implantação do Dynamics AX nos proximos meses aqui na empresa, estou buscando informações de como dar suporte manutenção, e desenvolvimento nessa nova ferramenta, sou um renegado da Borland, então a curva de aprendizagem vai complicada, gostaria de saber qual curso devo buscar para poder dar manutenção do Dynamics AX, sei que a linguagem padrão é o X++ mas gostariamos de utilzar o Dynamics em conjunto com o VB.NET usando o C# ou C++, que cursos vc me recomenda para começar a trabalhar com o AX ?!? grato desde já pela sua atenção.
Leave a reply