Hi Hartmut,
I'm a "newbie" in sapdb, so maybe my answer doesn't make any sense.. ;-)
anyway:
I would expect for the first interaction a bigger delay (access path
generation, more I/O to fill the bufferpools).
For the following interactions, the time should be aproximately equal
(if you have enough buffers for the data; remember: your buffers are
normally managed thru a LRU - Least recently used - algorith. If you
don't have enough buffers, you'll have more I/O).
And don't forget to check if another process also needs resources from
sapdb while your program runs.
Rodney
Hartmut.Luttermann@stripped wrote:
> Hi,
>
> I have written a test program to measure the performance of the SAP DB.
>
> It repeats the following query
>
> SELECT p.id FROM P p, A a WHERE p.is_def = false AND
> a.role='test_role' AND a.type=1 AND a.name='test' AND p.id=a.id AND
> p.state=3
>
> on table P and A. Table P contains ca. 850000 entities. The result of
> the query will contain ca. 10000 entities.
>
> p.id is defined as varchar (255) and there is an index on p.is_def and
> on p.state.
>
>
>
> The surprise is that the query takes different times from loop to loop.
> It changes between 9s and 30s.
>
>
>
> The test program runs in the Jboss-ApplicationServer in a stateless
> session bean which manages the DB connection. The DB runs on another
> machine, so it will not be disturbed by JBoss.
>
>
>
> Hartmut Luttermann
>
>
>