Wie kann ich die Leistung der unten Abfrage verbessern? Welche Indizes könnten helfen?MySQL Indizes auf Abfrage mit Where, GroupBy und OrderBy Klauseln
SELECT platform, country, Source, window,
Round(SUM(ProjectedARPI*PlayerCount)/SUM(PlayerCount), 2) AS ProjectedARPI,
Round(SUM(ProjectedARPIOrganicLow*PlayerCount)/SUM(PlayerCount), 2) AS ProjectedARPIOrganicLow,
Round(SUM(ProjectedARPIOrganicMed*PlayerCount)/SUM(PlayerCount), 2) AS ProjectedARPIOrganicMed,
Round(SUM(ProjectedARPIOrganicHigh*PlayerCount)/SUM(PlayerCount), 2) AS ProjectedARPIOrganicHigh,
SUM(PlayerCount) AS PlayerCount, SUM(PayerCount) AS PayerCount,
CASE WHEN(SUM(PlayerCount) > 500 AND SUM(PayerCount) > 10) THEN TRUE ELSE FALSE END AS isSignificant,
ProjectionDate,
min(CohortRangeLow) as CohortRangeLow,
max(CohortRangeHigh) as CohortRangeHigh
FROM web_synch.UI_data
WHERE PlayerCount > 0 AND ProjectionDate BETWEEN '2015-07-25' AND '2016-10-25' AND window = 365
GROUP BY Platform, country, source, ProjectionDate
ORDER BY Platform, source, ProjectionDate;
Sie können mit einigen versuchen, die Abfrage zu formatieren. Ich verstehe Sie sind neu auf der Website, aber die Abfrage ist ein Durcheinander. Wenn es nicht gelesen werden kann, kann es nicht verbessert werden. –
Danke Bobski für die Bearbeitung des Posts. – Mayank
mein bitte fügen Sie immer 4 Leerzeichen vor Code – BobSki