背景:在不同机器上,对同一个表(两个机器copy的表数据条数基本一样)进行查询,时间一个能3分钟左右,一个9秒左右,目前数据30w+,大概是页面埋点,统计用户访问信息,还在继续增长,sql语句如下。
问题:是机器性能导致的么?下面语句能有什么优化的办法么?或者其他方面的优化?
SELECT
sessionsForPV.title pageName,
sessionsForPV.url pageID,
sessionsForPV.pv deviceNumber,
sessionsForPV.uv visitsNumber,
CONCAT(ROUND(pv / total.totalPV * 100, 2),'%') ratio
FROM
(
SELECT title,url,COUNT(*) pv,COUNT(DISTINCT `browser_id`) uv
FROM
`sessions` se
where se.create_time > "2019-03-28 00:00:00"
and se.create_time < "2019-05-30 14:56:18"
GROUP BY
se.url
) AS sessionsForPV
LEFT JOIN (
SELECT
COUNT(*) totalPV
FROM
`sessions` se
where se.create_time > "2019-03-28 00:00:00"
and se.create_time < "2019-05-30 14:56:18"
) total ON 1 = 1
ORDER BY
sessionsForPV.pv DESC
LIMIT 0,10
两个机器各自的执行计划贴出来看看