<svein.erling.tysvaer@...> wrote:
>
> >SELECT r.LINENR, r.COMPONENTNR, MAX(r.SUMWEIGHT)-MIN(r.SUMWEIGHT) as 
> >sumweightdiff 
> >FROM GRAVCOMPDATA_LONG r 
> >where r.GRAVTIMESTAMP Between  CAST('NOW' AS TIMESTAMP) - 60/1440e0 AND 
> >CAST('NOW' AS TIMESTAMP)
> >group by r.LINENR, r.COMPONENTNR
> 
> You forgot to mention the main part of any optimization task, the chosen 
> PLAN. This answer is therefore based on expecting indexes not to be optimized 
> for this query yet.
> 
> Is there any GRAVTIMESTAMP > 'NOW'? If not, then add a DESCENDING INDEX for 
> GRAVTIMESTAMP and change your query to:
> 
> SELECT r.LINENR, r.COMPONENTNR, MAX(r.SUMWEIGHT)-MIN(r.SUMWEIGHT) as 
> sumweightdiff 
> FROM GRAVCOMPDATA_LONG r 
> where r.GRAVTIMESTAMP >= CAST('NOW' AS TIMESTAMP) - 60/1440e0 
> group by r.LINENR, r.COMPONENTNR
> 
> Hopefully, this will change the PLAN and the execution time improve.
> 
> HTH,
> Set
>

Thanks a lot for this idea. I could reduce execution time tremendously:

Executing...
Done.
11189 fetches, 45 marks, 5624 reads, 30 writes.
0 inserts, 0 updates, 0 deletes, 1792 index, 0 seq.
Delta memory: 23356 bytes.
Total execution time: 0.296s
Script execution finished.

and yes there is no dedicated plan, and now I know I should give more attention 
to the chapter in hellens book ;-). Do you think that the additional index has 
an notable effect to the insertion time for the records ?.

Jörn


Reply via email to