Long query execution, about 1 hr
Posted by:
eloe lelo
Date: February 13, 2011 10:07AM
Hi,
could you please give me any tips to optimize my query. It takes very long to execute, about 1hr. I would like to reduce this time as much as it is possible.
This is my query:
SELECT kontakt.makroregion,
kontakt.region,
kontakt.oddzial,
kontakt.akcja,
kontakt.akcja_nazwa,
segment.opis,
kontakt.podgrupa,
SUM(kontakt.status_opis <=> '1 Nieprzypisany'),
SUM(kontakt.status_opis <=> '2 Przekazany'),
SUM(kontakt.status_opis <=> '3 Niezaplanowany'),
SUM(kontakt.status_opis <=> '4 Zaplanowany'),
SUM(kontakt.status_opis <=> '5 Zamknięty'),
SUM(kontakt.status_opis <=> '5 Zamknięty' AND kontakt.rezultat_opis <=> 'Kontakt niepodjęty'),
SUM(kontakt.status_opis <=> '5 Zamknięty' AND kontakt.rezultat_opis <=> 'Klient niezainteresowany'),
SUM(kontakt.status_opis <=> '5 Zamknięty' AND kontakt.definicja_sprzedazy <=> 'NIE' AND kontakt.rezultat_opis NOT IN ('Kontakt niepodjęty', 'Klient niezainteresowany')),
SUM(kontakt.status_opis <=> '5 Zamknięty' AND kontakt.definicja_sprzedazy <=> 'TAK'),
COUNT(kontakt.status_opis) AS 'Status Razem',
SUM(kontakt.definicja_sprzedazy <=> 'TAK')
FROM sws.kontakt
LEFT JOIN sws.akcja ON kontakt.akcja = akcja.id
LEFT JOIN misc.segment ON kontakt.cif = segment.cif
LEFT JOIN crm.sprzedaz ON kontakt.cif = sprzedaz.cif AND kontakt.akcja = sprzedaz.akcja
WHERE kontakt.grupa = 'OF'
AND kontakt.oddzial IS NOT NULL
AND kontakt.akcja > 1
AND akcja.data_rozpoczecia >= '2010-08-01'
AND data_wgrania <= '2011-01-01'
GROUP BY kontakt.makroregion,
kontakt.region,
kontakt.oddzial,
kontakt.akcja_nazwa,
segment.opis
Key are in kontakt ('akcja', 'cif')
in sprzedaz ('akcja', 'cif')
Please help me. I am sick of sitting 1 hr after every change and watching 'Copying to tmp table'