Skip to main content

Performance points in axapta


Performance points in axapta

How you code access to your data has a major impact on the performance of your code and system; here is a list of rules to go by:
• Unless you really need to and have tested the execution plan very well, don’t use hints in database statements; the database optimizer will do a better job, and a bad hint can really hurt performance.
• Use table joins instead of using loops to walk through your data; this reduces the number of statements traveling around and the amount of data, plus it offloads processing of data to the database.
• Use aggregate functions where appropriate instead of aggregating in code.
• If you are deleting many rows that match specific criteria, use the delete_from statement instead of delete, as it performs better.
• If you are updating many rows that match specific criteria, use the update_from statement instead of the update statement, as it performs better.
• Think well about your indexes: lack of good indexes will lead to full table scans.
• Sort data using indexed fields and avoid conflicts between where and order by clauses.
• Write where clauses that select only the data you need.
• Minimize the time records are locked by not hanging on to data longer than necessary— i.e. don’t select some data for update, do a bunch of other stuff, and then use it sometime later.
• Use recordset functions where possible, such as array insert, insert recordset, and update recordset.

Popular posts from this blog

Code to get customer Primary Address in Ax 2012

Below Code to get customer Primary Address in Ax 2012. CustTable custTable_P; DirPartyTable dirPartyTable_P; DirPartyLocation dirPartyLocation_P; DirPartyLocationRole dirPartyLocationRole_P; LogisticsLocation logisticsLocation_P; LogisticsLocationRole logisticsLocationRole_P; LogisticsPostalAddress logisticsPostalAddress_P; LogisticsPostalAddress primaryAddress_P; while select custTable_P where custTable_P.AccountNum =='ED_01029' join dirPartyTable_P where dirPartyTable_P.RecId == custTable_P.Party join dirPartyLocation_P where dirPartyLocation_P.Party == custTable_P.Party && dirPartyLocation_P.IsPrimary==NoYes::Yes join dirPartyLocationRole_P where dirPartyLocationRole_P.PartyLocation == dirPartyLocation_P.RecId join logisticsLocationRole_P where logisticsLocationRole_P.RecId == dirPartyLocationRole

strScan and Find a first occurrence of a string in a string using x++

strScan (Find a first occurrence of a string in a string) info("int strScan(str _text1,str _text2,int _position,int _number)"); info("Searches a text string for the occurrence of another string."); info("_text1 - The text string to search."); info("_text2 - The string to find."); info("_position - The position at which the search should start."); info("_number - The number of characters that should be searched."); info(int2str(strScan("ABCDEFGHIJ","DE",1,10)));

Get record from table on the basis of field id in Microsoft dynamics axapta x++

How to Get record from table on the basis of field id in dynamics axapta x++. just try following code in job to understand better way. emplTable emplTable; FieldId fieldId; ; fieldId = fieldNum(emplTable, Emplid); select emplTable; info(emplTable.(fieldId)); select emplTable where emplTable.(fieldId) == '1101'; info(emplTable.Name);