#mysql
#mysql
Вопрос:
В моей базе данных с 11 миллионами строк данных любой мой sql-запрос
SELECT dgs.country_code COUNTRY_CODE
, dtc.name COUNTRY
, SUM(dgs.impressions) IMP
, SUM(dgs.clicks) CLK
, SUM(dgs.conversions) CON
, FORMAT(((SUM(dgs.clicks)/SUM(dgs.impressions))*100),4) CTR
FROM djax_geographical_stats dgs
JOIN djax_conf_targ_country dtc
ON (dtc.value = dgs.country_code
OR dtc.iso_countycode_alpha3 = dgs.country)
WHERE 1
AND date_time BETWEEN '2020-07-22' AND '2020-08-20'
GROUP
BY dgs.country_code
ORDER
BY COUNTRY asc
LIMIT 10
для выполнения требуется более 60 секунд
Как сократить время выполнения
Комментарии:
1.
OR
MySQL трудно оптимизировать условия. Разделите его на два запроса, которые вы объединяете сUNION
.2. У вас есть индексы?
3. Какую версию mysql вы используете?