项目新增内存表优化软件速度

最近做了一个企业项目,里面有一个能效显示的功能,通过专业的processbook软件显示,每次开启都会去读取数据库中的每个点的最新值。一开始使用的时候,速度还可以,但是随着时间的推移,发现数据库里面数据越来越多,导致每次开启processbook都要等很久,十多分钟,时间花在数据库select语句上。

一开始想优化的时候,是想着优化sql语句,但是实际效果不明显。

突然有一天,想到一个比较好的解决方法,就是再新增一张类似内存表,里面就存每个点的最新数据。每次点的值计算完,做两种操作,一个是插入历史数据表,另一方面是更新内存表。这样每次processbook都是去内存表取值。果然,软件实现了秒开!

这个方法没有什么技术含量,但是不容易想到,这个在以后项目一定也会经常用到。

时间: 2024-10-31 04:57:13

项目新增内存表优化软件速度的相关文章

软件项目需求评分表

   软件项目需求评分表 组序号:23      组成员:何健勋 王岸城 苏月          评分人:苏月 序 号 N(需求) A(方法) B(好处) C(竞争) D(交付) 1 -4 -4 -4 -4 -4 2 -3 -3 -3 -3 -3 3 3 3 3 3 1 4 -2 -2 -2 -2 -2 5 2 2 2 2 2 6 4 4 4 4 4 7 5 5 5 5 5 8 -5 -5 -5 -5 -5 9 -6 -6 -6 -6 -6 10 -1 -1 -1 -1 -1 11 8 8 8

优化系列 | MySQL Cluster 7.2.7内存表和磁盘表对比测试

一.准备工作自从2009年测试MySQL Cluster 7.0之后,就没怎么关注过它,发展实在太慢了,还有很多不靠谱的地方.前阵子退出7.2.7版本后,看了看新特性介绍,号称性能比以往版本高了很多,于是再关注并进行测试.部署过程不多说,下载PRM包后直接安装即可.共10个节点,其中1个管理节点,其他9个节点同时作为数据和SQL节点,所有节点服务器配置图:MySQL Cluster管理节点关键配置见下: # #ndb config.ini # [TCP DEFAULT] SendBufferMe

详解MySQL大表优化方案

当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑.部署.运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的.而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量: 字段 尽量使用TINYINT.SMALLINT.MEDIUM_INT作为整数类型而非INT,如果非负则加上UNSIGNED VARCHAR的

MySQL 大表优化方案探讨

当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑.部署.运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的.而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量: 字段 尽量使用TINYINT.SMALLINT.MEDIUM_INT作为整数类型而非INT,如果非负则加上UNSIGNED VARCHAR的

Java解读内存,优化编程

1.别用new Boolean 在很多场景中Boolean类型是必须的,比如JDBC中boolean类型的set与get都是通过Boolean封装传递的,大部分ORM也是用Boolean来封装boolean类型的,比如:       ps.setBoolean("isClosed",new Boolean(true));        ps.setBoolean("isClosed",new Boolean(isClosed));        ps.setBool

MySQL大表优化方案

当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑.部署.运维的各种复杂度,一般以整型值为主的表在 千万级 以下,字符串为主的表在 五百万 以下是没有太大问题的.而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量: 字段 尽量使用 TINYINT . SMALLINT . MEDIUM_INT 作为整数类型而非 INT ,如果非负则加上 UNSI

详解MySQL大表优化方案( 转)

当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑.部署.运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的.而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量: 字段 尽量使用TINYINT.SMALLINT.MEDIUM_INT作为整数类型而非INT,如果非负则加上UNSIGNED VARCHAR的

Android app性能优化大汇总之内存性能优化

写在最前: 本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总.挑选.简化后整理而成. 所以我将本文定义为一个工具类的文章,如果你在Android开发中遇到关于内存问题,或者马上要参加面试,或者就是单纯的学习或复习一下内存相关知识,都欢迎阅读.(本文最后我会尽量列出所参考的文章). 内存简介: RAM(random access memory)随机存取存储器.说白了就是内存. 一般Java在内存分配时会涉及到以下区域: 寄存器(R

Sql server2005 优化查询速度50个方法小结

Sql server2005 优化查询速度50个方法小结 Sql server2005优化查询速度51法查询速度慢的原因很多,常见如下几种,大家可以参考下. I/O吞吐量小,形成了瓶颈效应.  没有创建计算列导致查询不优化.  内存不足.  网络速度慢.  查询出的数据量过大(可以采用多次查询,其他的方法降低数据量).  锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷).  sp_lock,sp_who,活动的用户查看,原因是读写竞争资源.  返回了不必要的行和列.  查询语句不好,没有