在进销存业务中,有很多种类的出入库单据,一般会把它持久化的写入不同的数据库表中。还常常会需要查询当前的实时库存情况,其实实时库存的结果就是汇总前面那些出入库业务数据后的结果。所以,我想,sql server 不是有一种视图叫做索引视图嘛,是不是可以创建这样的一个索引视图来当做实时库存表来使用??
好像在oracle中这种视图叫做物化视图。我是遇到普通视图的查询效率问题了,所以最近才关注了这个物化视图。现在是不太确定这种物化视图的数据同步原理,担心使用它会给基础表的数据增、删、改 带来性能方面的巨大损失,目前数据库单表最多的一个数据量已经5百多万条了。
关于数据结转:由于业务需要,我结转时并没有彻底截断之前业务数据,我的结转只是把截止到某一天的之前的数据汇总结果放到一个物理表里,然后查询实时库存时把这个结转表和结转日期之后的业务表的数据进行汇总求结果。尽管在涉及到的日期字段上设置了索引,但是由于这种查询关联的表多、数据量大,还很频繁。
所以,关于进销存软件实时库存的数据库设计和应用程序实现方案,在此恳请各位奋战在进销存软件一线的大牛们给一些建议。