Try to execute the same in a method executed on server. Job's is
executed on client. If it's then showing the same time differences,
then try to catch the sql-statements in sql-trace, and check for
differences. And maybe try to measure on the "execution plan select"
also.
regards Simon
--- In [email protected], "Bayliss, Barry"
<[EMAIL PROTECTED]> wrote:
>
>
> Hello Steeve,
>
> Can you post the code you used to test, as I found the following:
>
>
> Using the next method: 2:27.002
> Using the while method: 2:27.010
> Using the query method: 5:04.052
>
> The number of records in the table was: 59071
>
> The code I used was:
>
> static void Job231(Args _args)
> {
> Query Query;
> QueryBuildDataSource qbds;
> QueryRun QueryRun;
> PCDrockfastTrxHeader PCDrockfastTrxHeader;
> int i,st;
> ;
>
> // Ensuring the creation of an execution plan
> while
> select PCDRockfastTrxHeader
> {
> i = 0;
> }
>
> st = winAPI::getTickCount();
> select PCDrockfastTrxHeader;
> while (PCDrockfastTrxHeader)
> {
> i = 0;
> next PCdrockfastTrxHeader;
> }
> info("Next: " + Milliseconds2strhms(winAPI::getTickCount() -
st));
>
> st = winAPI::getTickCount();
> while
> select PCDrockfastTrxHeader
> {
> i = 0;
> }
> info("While: " + Milliseconds2strhms(winAPI::getTickCount() -
st));
>
>
> Query = new Query();
> qbds = Query.addDataSource(TableNum
(PCDRockfastTrxHeader));
> QueryRun = new QueryRun(Query);
>
> while (QueryRun.next()) {
> i = 0;
> }
> info("Query: " + Milliseconds2strhms(winAPI::getTickCount() -
st));
> }
>
> The following was placed in the global class.
>
> static TempStr milliSeconds2StrHMS(int time)
> {
> int millisec;
> ;
>
> millisec = time mod 3600 mod 60 mod 1000;
> time = time div 1000;
> return Time2strHMS(time) + "." + num2str0(millisec, 3,0,0,0);
> }
>
>
>
>
> Barry.
>
>
>
>
> -----Original Message-----
> From: [email protected] [mailto:development-
[EMAIL PROTECTED] On Behalf Of Steeve Gilbert
> Sent: Thursday, 22 December 2005 12:03 AM
> To: [email protected]
> Subject: RE : RE : [development-axapta] Reset position in a
tablebuffer
>
> Sorry, I always tought "while select" was faster but just did a
test and it doesn't seem so.
>
> Steeve...
>
>
> -----Message d'origine-----
> De : [email protected] [mailto:development-
[EMAIL PROTECTED] De la part de densop1
> Envoyé : 21 décembre 2005 04:01
> À : [email protected]
> Objet : Re: RE : [development-axapta] Reset position in a
tablebuffer
>
> Yes "select ct" initialises the buffer again. But it doesn't
matter
> if you uses "while select" or "next".
>
> Simon
>
> --- In [email protected], "Steeve Gilbert"
> <[EMAIL PROTECTED]> wrote:
> >
> > I would redo the "select ct;". But you should be doing that
> instead :
> >
> > While select ct {
> > info(ct.AccountNum);
> > }
> >
> > Steeve...
> >
> >
> > -----Message d'origine-----
> > De : [email protected] [mailto:development-
> [EMAIL PROTECTED] De la part de cdlmalherbe01
> > Envoyé : 20 décembre 2005 06:02
> > À : [email protected]
> > Objet : [development-axapta] Reset position in a tablebuffer
> >
> > Hi all,
> >
> > An obvious question to the more experienced, but how does one
> reset
> > the cursor's position to the first record in a tablebuffer?
> >
> > Example
> > ========
> >
> > CustTable ct;
> >
> > ;
> >
> > select ct;
> >
> > while (ct)
> > {
> > info(ct.AccountNum);
> >
> > next ct;
> > }
> >
> > /*what call goes here to reset position of the cursor to the
first
> > record in the table buffer?*/
> >
> > while (ct)
> > {
> > info(ct.Name);
> >
> > next ct;
> > }
> >
> > Kind regards,
> >
> > Christoph
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > Yahoo! Groups Links
> >
>
>
>
>
>
>
>
>
>
>
>
> Yahoo! Groups Links
>
>
>
>
>
>
>
>
>
>
>
> Yahoo! Groups Links
>
SPONSORED LINKS
| Computer part | Programming languages | Microsoft axapta |
| Support exchange |
YAHOO! GROUPS LINKS
- Visit your group "development-axapta" on the web.
- To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
- Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.

