Hi,
I've changed the query in our development environment to the one you
suggested, and it works, but I think that the problem is still there.
In prod, we are on log mode overwrite, and database data is at 75% (6 GB
gree). load_systab is not done since long ago. We are monitoring data from
production from 2 weeks ago, and every day, we see results like that: a
small number in CALL_COUNT, but big numbers in ROWS_QUAL, ROWS_READ and
PHYSICAL_IO, leading to high RUNTIMEs for this kind of queries.
Also, something similar happens in our development environment:
SQL_STATEMENT CALL_COUNT ROWS_READ
ROWS_QUAL
SELECT * INTO :dummy FROM DUAL 132 132 132
SELECT * INTO :dummy FROM DUAL 28 230 94
I think the first line is OK, but the second, there are more rows read and
qualified than calls. Although the difference is not so big as in prod, it
seems the same problem.
In development, we also have overwrite log mode, free space for database,
and no load_systab being executed. The only difference is that development
version is 7.5.00.38
Regards,
Jose
From: "Zabach, Elke" <[EMAIL PROTECTED]>
To: "Jose Dillet" <[EMAIL PROTECTED]>, <maxdb@lists.mysql.com>
Subject: RE: Performance on queries over DUAL table
Date: Wed, 11 Apr 2007 14:08:35 +0200
Hi,
the simplest way to be done is
select * into :some_parameter from dual
as (compared to select * from dual) no resultset-description has to be
prepared.
But your monitor-result seem very strange, indeed.
The only idea I have is that your database ran into a full-state
(log/database)
and all commands had to wait for backup of log or something like that.
or did you do a load_systab in parallel? During this the table is
dropped/re-created
and perhaps some kind of locks caused the trouble.
The table dual itself will never have more than one row.
I assume that this effect will not be reproducable, is it?
Elke
SAP Labs Berlin
Sitz der Gesellschaft/Registered Office: Walldorf, Germany
Vorstand/SAP Executive Board: Henning Kagermann (Sprecher/CEO), Shai
Agassi, Léo Apotheker, Werner Brandt, Claus Heinrich, Gerhard Oswald, Peter
Zencke
Vorsitzender des Aufsichtsrats/Chairperson of the SAP Supervisory Board:
Hasso Plattner
Registergericht/Commercial Register Mannheim No HRB 350269
Diese E-Mail kann Betriebs- oder Geschäftsgeheimnisse oder sonstige
vertrauliche Informationen enthalten. Sollten Sie diese E-Mail irrtümlich
erhalten haben, ist Ihnen eine Kenntnisnahme des Inhalts, eine
Vervielfältigung oder Weitergabe der E-Mail ausdrücklich untersagt.
Bitte benachrichtigen Sie uns und vernichten Sie die empfangene E-Mail.
Vielen Dank.
This e-mail may contain trade secrets or privileged, undisclosed, or
otherwise confidential information. If you have received this e-mail in
error, you are hereby notified that any review, copying, or distribution of
it is strictly prohibited. Please inform us immediately and destroy the
original transmittal. Thank you for your cooperation.
> -----Original Message-----
> From: Jose Dillet [mailto:[EMAIL PROTECTED]
> Sent: Dienstag, 10. April 2007 10:30
> To: maxdb@lists.mysql.com
> Subject: Performance on queries over DUAL table
>
> Hello,
>
>
>
> We have an application with JBoss and MaxDB 7.5.00.23 that
> I'm monitoring to
> try to find performance bottlenecks. We've enabled the
> resource monitor as
> explained in MaxDB performance tuning primer article. When I
> check the
> results gathered, I see some strange results with queries
> over dual table:
>
> SQL_STATEMENT CALL_COUNT ROWS_READ ROWS_QUAL PCT_ROWS
> VIRTUAL_READS RUNTIME MIN_RUNTIME MAX_RUNTIME PHYSICAL_IO
>
> SELECT * FROM DUAL 164 1128894 682042
> 0
> 3213934
> 347.271943 .000053 150.694322 58398
>
>
> JBoss has a pool of connections, so, every time a connection
> is taken from
> pool, jboss executes a SELECT * FROM DUAL to check that this
> connection is
> still alive and working (this is configured at jboss
> datasource level). We
> do this query because is the simplest query that could be
> done. But, as you
> see, there was an execution with 150 secs, and cumulated
> runtime of 347
> secs. I think this is too much time for so simple query. But, data of
> ROWS_READ and ROWS_QUAL seems even stranger. Over a million
> rows read for
> 164 queries, and 600k rows qualified (rows that match
> criteria), but DUAL
> has only 1 row (I've checked it and there isn't other DUAL
> tables of other
> users, so this query goes over DBA.DUAL, the one with only
> one row and one
> field).
>
>
>
> Do you think that this behaviour is a bug?
>
>
>
> Best regards,
>
>
>
> Jose Dillet
>
> _________________________________________________________________
> Dale rienda suelta a tu tiempo libre. Mil ideas para exprimir
> tu ocio con
> MSN Entretenimiento. http://entretenimiento.msn.es/
>
>
> --
> MaxDB Discussion Mailing List
> For list archives: http://lists.mysql.com/maxdb
> To unsubscribe:
> http://lists.mysql.com/[EMAIL PROTECTED]
>
>
>
_________________________________________________________________
Dale rienda suelta a tu tiempo libre. Mil ideas para exprimir tu ocio con
MSN Entretenimiento. http://entretenimiento.msn.es/
--
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]