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

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);

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