On Thu, 20 Jun 2002, Javier Campoamor wrote:

> Hi,
>
> I have a problem with the next query because it's too slow (>10 seconds) and
> I need to do 10 queries like this one to show a page.
>
> <QUERY>
>
>       SELECT
>               h.Hour, count(c.Amount) As NumberOfCalls, sum(c.Amount) As Amount
>       FROM
>               Bill b, Hour h
>       LEFT JOIN
>               Call c
>       ON
>               c.Type='N' AND
>               b.date <= '2001-06-01' AND
>               b.date >= DATE_SUB('2001-06-01', INTERVAL 1 MONTH) AND
>               b.BillNumber = c.BillNumber AND
>               h.HourId = HOUR(c.Hour)
>       GROUP BY
>               h.Hour
>       ORDER BY
>               h.HourId;
>
> </QUERY>
<snip>
> I have already created index for the Call.BillNumber and the Bill.BillNumber
> fields, and it has helped (from 40 second to 10 seconds) but it doesn't
> solve the problem.
>

What about creating more indices, on (say) Bill.date, Hour.HourID or Call.Type?


> Do you have any idea about the way to optimize it?
>
> Thanks in advance
>
> Javier
>



---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <mysql-unsubscribe-##L=##[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to