暂无图片
分享
natic
2020-07-06
大佬给点优化建议

每天单表入库100万数据,200多张表,每小时对前一小时数据进行处理,建表语句和查询语句如下, 请问下大佬们需要做哪些优化?

create table edgebox4_mtplc_smotorpower ( reading_time timestamp with time zone not null constraint edgebox4_mtplc_smotorpower_pkey primary key, event_time timestamp with time zone, reading_value double precision );
sql = "select to_char(reading_time, 'YYYY-MM-DD HH24:MI'), avg(reading_value) " \ " from " + box_id + "_" + variable + \ " where to_char(reading_time, 'YYYY-MM-DD HH24') = '" + hour + \ "' group by to_char(reading_time, 'YYYY-MM-DD HH24:MI')" \ "order by to_char(reading_time, 'YYYY-MM-DD HH24:MI');"
收藏
分享
2条回答
默认
最新
章芋文

如果是查询性能的话:
首先改写SQL确保可以走索引:
reading_time >= to_timestamp(hour-1, ‘yyyymmdd hh24’ and reading_time<=to_timestamp(hour, ‘yyyymmdd hh24’

如果还不能满足,就要改造成分区表。

终极大招,换数据库。😆

暂无图片 评论
暂无图片 有用 0
natic
问题已关闭: 问题已经得到解决
暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏