Wow. It's a bit difficult to trace this way on the live system since the code 
could be anywhere in the app. It's possible that a query is not using the 
fields in the order of the index and since the kernel automatically adds the 
DataAreaId to the WHERE clause you do not need to specify it in code.

Varden Morris
Varalth Solutions Inc.   
693 Abbottsfield Road NW
Edmonton, Alberta T5W 4R4
Canada 
(780) 752-0406
www.varalth.com

CONFIDENTIALITY NOTICE 
 
This message and any attachments are confidential.  If you have received this 
transmission in error, please be advised that any disclosure, copying, 
distribution or action taken in reliance upon this communication is strictly 
prohibited.  If you have received this communication in error, please contact 
the sender immediately. Please note that any views or opinions presented in 
this email are solely those of the author and do not necessarily represent 
those of the company.  Finally, the recipient should check this email and any 
attachments for the presence of viruses. The company accepts no liability for 
any damage caused by any virus transmitted by this email.




________________________________
From: Agus Riyadi <agusa...@gmail.com>
To: Axapta-Knowledge-Village@yahoogroups.com
Sent: Wednesday, March 4, 2009 9:22:32 PM
Subject: Re: [Axapta-Knowledge-Village] Create index with first column not 
dataareaid


Thanks James,

Yes perhaps this is not relevant to recalc/closing because there are users 
activity during recalc which might get captured in the profiler too, and 
profiler will not tell from which ax function this particular query comes from.
I am just curious since DTA suggested several more indexes that have first 
column not dataareaid.
My plan is to apply as many indexes as possible so then I can move forward to 
others area for improvement if performance still unacceptable.

Thanks and best regards,

Agus


On Thu, Mar 5, 2009 at 10:46 AM, James Flavell <djf1...@gmail. com> wrote:

I would double check why is recalc/closing looking at custpackingslipjour . As 
far as I am aware the std closing should not look at this table table so I 
would be a little careful...although I guess you can add the index and see but 
to me I would not expect any improvement in the recalc or closing
 
 
 

________________________________
From: Axapta-Knowledge- vill...@yahoogro ups.com [mailto:Axapta-Knowledge- 
vill...@yahoogro ups.com] On Behalf Of Agus Riyadi
Sent: 05 March 2009 11:33
To: Axapta-Knowledge- vill...@yahoogro ups.com
Subject: Re: [Axapta-Knowledge- Village] Create index with first column not 
dataareaid


Hi Varden,

Thanks for input.
This comes from the profiler file during inventory recalculation process, so 
less likely that I will change the standard code. I will only add index from 
the DTA's recommendation.
I think we need to concern the column order as suggested by DTA because 
otherwise the index will not be used and only makes additional write overhead.
So we can't do anything for this kind of suggestion, can we?

Just FYI, I have a client who runs recalculation for long hours (20 + hours). 
The only possibility is to tune the index because disk configuration (RAID 
etc.) will not be change in the near future.

Thanks and best regards,

Agus


On Thu, Mar 5, 2009 at 12:04 AM, Varden Morris <vard...@yahoo. com> wrote:

You are right about the DataAreaId being added to the index by the kernel. I am 
not sure that you need to concern yourself about the order of the fields as 
suggested in the backend but you need to ensure that any query coming from AX 
should have the fields listed in the WHERE clause in the order in which they 
are listed in the index. In the case below, if there is an index with the 
SalesId and RecId listed in that order then you should ensure that all queries 
sent to the database, that will possible use this index, have the fields in the 
WHERE clause listed in the same order. 


CustPackingSlipJour  :
          salesid asc,
          dataareaid asc,
          recid asc.

 
Varden Morris
Varalth Solutions Inc.  
693 Abbottsfield Road NW
Edmonton, Alberta T5W 4R4
Canada 
(780) 752-0406
www.varalth. com

CONFIDENTIALITY NOTICE 
 
This message and any attachments are confidential.  If you have received this 
transmission in error, please be advised that any disclosure, copying, 
distribution or action taken in reliance upon this communication is strictly 
prohibited.  If you have received this communication in error, please contact 
the sender immediately. Please note that any views or opinions presented in 
this email are solely those of the author and do not necessarily represent 
those of the company.  Finally, the recipient should check this email and any 
attachments for the presence of viruses. The company accepts no liability for 
any damage caused by any virus transmitted by this email.




________________________________
From: Agus Riyadi <agusa...@gmail. com>
To: axapta-knowledge- village <Axapta-Knowledge- vill...@yahoogro ups.com>
Sent: Wednesday, March 4, 2009 12:27:29 AM
Subject: [Axapta-Knowledge- Village] Create index with first column not 
dataareaid



Dear all,

Using sql server database engine tuning advisor, I got a recommendation to add 
new index with the following scheme :

CustPackingSlipJour :
          salesid asc,
          dataareaid asc,
          recid asc.

Is it possible to achieve that in Ax ? As far as I know Ax always add 
dataareaid column as the first column of any index created from AOT.

Thanks and best regards,

Agus







      

Reply via email to