现在要做个基于MySQL的系统。由于项目中开发人员使用的数据库的经验不多,遇到了很多问题,这是其中一个。谢谢大家了:
在系统中,实时从前端设备中采集了一些数据,由接入服务器写入到几个数据库表中(或经过简单的计算后写入)。但对这些原始数据要进行一些处理(例如多表的查询和计算、比较等),将结果写到另外一个表中。那个结果表就主要给web server来用,用于显示、查询等。
问题是,这样的事情在数据库中怎么做。以前在C或Java程序中,一般都使用另一个线程来对原始表进行操作,将结果写在另外一个地方。现在不知道数据库中是使用什么机制。另外,已经处理过的原始数据表不想删除,那么进行计算的例程(程序?)怎么判断,以免重复计算呢?想到的一个方法是在原始表中加入一个列来表示是否被处理过,但是觉得这么做有些土,应该不是正道。如果不这样,每次都在已经做过的表中重新找,是不是太浪费时间了。
另外,一个表被同时写和读的时候,一般怎么防止冲突呢?
请大家指点一下通常都是怎么做的。十分感谢!不好意思,新到一个领域。基础的问题很多。