我正在使用一个简单的左连接查询从两个单独的表中获取两行数据。他们都拥有一个名为的共同列domain
,我将他们加入到这一列中,以根据一个表访问量和其他表收入来计算一个值。
SELECT t1.`domain` AS `domain`,
(SUM(earnings)/SUM(visits)) AS `rpv`
FROM hat_adsense_stats t1
LEFT JOIN hat_analytics_stats t4 ON t4.`domain`=t1.`domain`
WHERE(t1.`hat_analytics_id`='91' OR t1.`hat_analytics_id`='92')
AND t1.`date`>='2013-02-18'
AND t4.`date`>='2013-02-18'
GROUP BY t1.`domain`
ORDER BY rpv DESC
LIMIT 10;
这是我运行的查询,执行需要 9.060 秒。
该hat_adsense_stats
表包含 60887 条记录 该hat_analytics_stats
表包含 190780 条记录
但通过domain
它分组返回需要比较的 186 行数据。
任何有关低效代码或解决此问题的更好方法的建议都将不胜感激!