04 April 2016

Statistics on CacheLookup property in AX 2012 R3

I got inspired by msdn blog post to collect statistics on CacheLookup property in standard AX 2012 R3.

Problem description
Actually, there is no problem in this post, just some entertainment.

Solution
I analysed CacheLookup property on all tables in standard AX 2012 R3 excluding temporary tables and derived tables (CacheLookup property can't be set on a derived table).

The distribution of CacheLookup property is presented below
The majority of tables have Found and NotInTTS. Caching is not enabled on 20% of tables or 1226 tables - there is room for improvement.


In the original post there is the suggestion about relation between TableGroup and CacheLookup properties. Let's compare suggested to actual values in standard AX application.

TableGroup property distribution is presented below:
Let's analyse CacheLookup property per TableGroup.

TableGroup Framework
There is no suggestion in the post about CacheLookup value, but majority of tables in standard application have Found and None.

TableGroup Group
The suggested CacheLookup value is Found. Actually more tables have EntireTable value and together with Found it makes 86% of all Group tables.

TableGroup Main
The suggested value is Found and it is very true in standard AX. Together with FoundAndEmpty it is impressive 89% of all Main tables.

TableGroup Miscellaneous
It is suggested not to use Miscellaneous in TableGroup, however there are quite many of them in standard application. I guess it was not easy to define TableGroup for these tables as well as CacheLookup value. 74% of all Miscellaneous tables have None in CacheLookup.

TableGroup Parameter
The suggested value is EntireTable and it is quite true in standard application. It is not clear why 46% of Parameter tables have Found in CacheLookup, it should be better set to EntireTable.

TableGroup Reference
The suggested value is Found, but most of Reference tables in standard application have EntireTable in CacheLookup.

TableGroup Transaction
The suggested and actual values are the same - NotInTTS.
Note: None is set on 25% of Transaction tables or 281 tables.

TableGroup TransactionHeader
The suggested and actual values are the same - NotInTTS. 31% of tables or 14 tables have None.

TableGroup TransactionLine
The suggested and actual values are the same - NotInTTS. 25% of tables or 17 tables have None.

TableGroup Worksheet
The suggested and actual values are the same - NotInTTS. 24% of Worksheet tables or 24 tables have None.

TableGroup WorksheetHeader
The suggested and actual values are the same - NotInTTS.

TableGroup WorksheetLine
The suggested and actual values are the same - NotInTTS.
Note: 18% of WorksheetLine tables or 86 tables have None in CacheLookup.

Conclusion
In general, the suggested values for CacheLookup property correlate with actual values in standard application. Let's remember to set both properties - TableGroup and CacheLookup.

1 comment: