为了账号安全,请及时绑定邮箱和手机立即绑定

关于大量的数据操作

关于大量的数据操作

森栏 2018-11-14 09:02:48
在某个查询操作中,需要算出商品的订货数之类的。而算订货数的时候需要一些逻辑,根据以前的卖数来决定订多少货,以及给用户一个建议需要订多少货。用户可以根据店铺号或者再加上商品类别、商品条形码之类的来查看商品的这些信息。因为某一个店铺存在哪一个服务器上是不一定的,所以首先要根据店铺号判断该店铺在哪个服务器上,然后再根据其他条件来查询。商品有十几万种,用户可以同时选择最多5个店铺来抽数据,以前的系统抽一个店铺就需要挺长时间,接近2分钟。主要是算订货数之类的太麻烦,涉及到很多表,还要经过很多计算。我想问一下,在每次操作中,我先根据用户选择的店铺而把该店铺里所有的商品取出来放在内存中,再把和这些商品有关的也全都取出来放在内存中。假设十几万条商品信息存放在内存中,对于512的内存来说会不会不够用。其他用户也可能进行同样的操作,我应该怎么保证内存中的数据和数据库中的数据同步?以前的系统是把所有的逻辑都写在一个大存储过程中执行的,存储过程只要接受用户选择的查询条件。我个人感觉那样会影响速度,因为其中涉及到很多临时表,还有对临时表的更新等,而且每次用户查询都要重新去读取数据。请各位大虾给个好的建议。这是winform开发。
查看完整描述

2 回答

?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

会慢,但是效率还是可以忍受的,不会造成太大影响

查看完整回答
反对 回复 2018-11-20
?
慕娘9325324

TA贡献1783条经验 获得超4个赞

数据有十几万条,而且还关联了N多表,看来512M内存小了点。要优化速度首先要找到性能瓶颈,才能有针对性。还有一种方法是在夜间计算最新的订货数量并保存,第二天全天都用这个已经算好了的数据。毕竟有些数据并不要求必须是实时更新的。

查看完整回答
反对 回复 2018-11-20
  • 2 回答
  • 0 关注
  • 221 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信