AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX Blogs
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.08.2008, 17:05   #1  
Blog bot is offline
Blog bot
Участник
 
25,643 / 848 (80) +++++++
Регистрация: 28.10.2006
axStart: Table caching in AX
Источник: http://axstart.spaces.live.com/Blog/...C0A0!371.entry
==============


There is a lot of misunderstanding about caching of data in AX.
Axapta 3.0 and 4.0 only caches data if you search exactly with the values of the primary index. I will show you with the next example. The primary index on the CustTable is on the field AccountNum.
Example 1 will place the record in my cache. The second example will read from cache. Example 3 and 4 will not do it.
static void cachingTest(Args _args)
{
    CustTable custTable;
    CustTrans custTrans;
 
    //example 1*
    select custTable where custTable.AccountNum == "4001";
    info(strfmt("%1",custTable.wasCached())); //not cached
 
    //example 2
    select custTable where custTable.AccountNum == "4001";
    info(strfmt("%1",custTable.wasCached())); //cached
 
   //example 3
    select custTable where custTable.AccountNum == "4001" &&
                                              custTable.Name == "The Glass Bulb";
    info(strfmt("%1",custTable.wasCached())); //not cached
 
    //example 4
    select custTable where custTable.AccountNum == "4001" join
                custTrans where custTable.AccountNum == custTrans.AccountNum;
    info(strfmt("%1",custTable.wasCached())); //not cached
}
* Incase the records was already cached on the AOS cache status is SvrRecordCached
In AX 2009 the caching mechanism has improved. Any unique index will be used for caching optimizing. So let’s repeat the test in AX2009. In the next example (2009), we search 2 times for the same record. The first time we use index PartyID that places the record in the cache the second time we search by accounnum index and will find the result in the cache.
static void cachingTest(Args _args)
{
    CustTable custTable;
    CustTrans custTrans;
 
    //example 1*
    select custTable where custTable. PartyId== "215"; //PartyID is also has also an unique index
    info(strfmt("%1",custTable.wasCached())); //not cached
 
    //example 2
    select custTable where custTable.AccountNum == "4001"; //same record like partyID == “215”
    info(strfmt("%1",custTable.wasCached())); //cached
 
   //example 3
    select custTable where custTable.AccountNum == "4001" &&
                                              custTable.Name == "The Glass Bulb";
    info(strfmt("%1",custTable.wasCached())); //not cached
 
    //example 4
    select custTable where custTable.AccountNum == "4001" join
                custTrans where custTable.AccountNum == custTrans.AccountNum;
    info(strfmt("%1",custTable.wasCached())); //not cached
}
* Incase the records was already cached on the AOS cache status is SvrRecordCached
NOTE: Still there is a primary index property in the AOT, I don’t know why.
 


Источник: http://axstart.spaces.live.com/Blog/...C0A0!371.entry
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axStart: Dynamics AX and Office Business Applications (OBA) Blog bot DAX Blogs 0 27.10.2008 16:05
axStart: Date methods in your Visual Studio Dynamics AX Report. Blog bot DAX Blogs 0 10.09.2008 23:05
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05
Arijit Basu: AX 2009 - Quick Overview Blog bot DAX Blogs 4 19.05.2008 14:47
Dynamics AX: SQL Tuning: Table & Index Scans Blog bot DAX Blogs 0 20.07.2007 11:50

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 02:54.