大概 765W 的数据,单表查询,需要频繁的计算某字段的日环比,目前 SQL 计算时间超过 30s,请各位大佬指点迷津;
需求:在总表中查询某个月的日环比
目前方案:
目前 SQL:
SELECT
right(t.day,2) AS day,
t.R11 as num,
y.R11 ynum,
CASE
WHEN y.R11 IS NULL
OR y.R11 = 0 THEN
0.00 ELSE round((t.R11/y.R11)-1, 2 )
END cc
FROM
( SELECT day, CONVERT (R11 , DECIMAL) as R11 FROM 原始数据表 ) t
LEFT JOIN
( SELECT REPLACE(date_add( day, INTERVAL 1 DAY ),"-","") tomorrow, CONVERT (R11 , DECIMAL) as R11 FROM 原始数据表 ) y ON t.day = y.tomorrow
where left(t.day,6) = concat(#{year},#{month})
order by t.day
大佬轻喷,不胜感激。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.