MySQL查询运行缓慢 - 电子邮件打开按电子邮件提供商排序

时间:2016-12-05 21:04:31

标签: mysqli

以下视图通过一个包含大约12M记录的表格,确定哪一个属于前7个电子邮件提供商(gmail / yahoo等),然后通过email_id(它适用的电子邮件)和域对结果进行分组

问题在于它非常慢......并且已经无法使用。

有没有关于优化/改进它的建议?

   DELIMITER $$

ALTER ALGORITHM=UNDEFINED DEFINER=`core_usr`@`%` SQL SECURITY DEFINER VIEW `email_opens_by_provider` AS (
SELECT
  SUBSTRING_INDEX(`email_stats`.`email_address`,'@',-(1)) AS `domain`,
  SUM(`email_stats`.`is_read`) AS `SUM(is_read)`,
  COUNT(0)                    AS `email_count`,
  `email_stats`.`email_id` AS `email_id`
FROM `email_stats`
WHERE ((SUBSTRING_INDEX(`email_stats`.`email_address`,'@', - (1))IN('gmail.com','yahoo.com','hotmail.com','aol.com','comcast.net','msn.com','outlook.com')))
GROUP BY SUBSTRING_INDEX(`email_stats`.`email_address`,'@', - (1)),`email_stats`.`email_id`)$$

DELIMITER ;

0 个答案:

没有答案