最近做了一个企业项目,里面有一个能效显示的功能,通过专业的processbook软件显示,每次开启都会去读取数据库中的每个点的最新值。一开始使用的时候,速度还可以,但是随着时间的推移,发现数据库里面数据越来越多,导致每次开启processbook都要等很久,十多分钟,时间花在数据库select语句上。
一开始想优化的时候,是想着优化sql语句,但是实际效果不明显。
突然有一天,想到一个比较好的解决方法,就是再新增一张类似内存表,里面就存每个点的最新数据。每次点的值计算完,做两种操作,一个是插入历史数据表,另一方面是更新内存表。这样每次processbook都是去内存表取值。果然,软件实现了秒开!
这个方法没有什么技术含量,但是不容易想到,在以后项目一定也会经常用到。
针对ProcessBook在大量数据下启动缓慢的问题,通过引入类似内存表的解决方案,实现软件快速响应。该方法在每次数据计算后,同时更新历史数据表和内存表,确保ProcessBook始终从内存表中获取最新值,显著提升加载速度。

6525

被折叠的 条评论
为什么被折叠?



