使用道具 举报
最初由 天光云影 发布 [B]呵呵,这是一个老问题了,当时是为了减少数据库的压力,才这样做的。 所谓P盘,实际就是一个映射。在本地建一个目录和P盘进行同步。 同步的内容就是所有的字典信息,如费用,药品,科室,疾病等等的名称和代码,这些信息在数据库中维护完成后,可以生成一个txt文件,放到P盘中,客户端每次打开程序时,会比较P盘中的更新情况,然后复制到本地。 在程序使用过程中,所有通拼音码调用名称的地方(如药品,费用),全部都到本地TXT文本中去取代码和名称,使这个录入过程变得更快。 当时设计这个功能的时候,是基于oracle7的环境中,而这方面的操作又是对数据库检索最频繁和并发查询最多的工作。所以基于性能上的考虑,采用了在本地查询的方法,自然也就会引起和数据库不同步的问题了。 在当时看来,这个功能真的是很大的提高了性能,减少了数据库的压力。但以目前oracle8以后的数据库性能来看,直接从数据库中要查询根本不会有什么影响,这个功能也有变成了一个没有用的东西,反而给用户带来很多的麻烦。 有些军惠的厂家已经把这个功能去掉了,改成直接查询数据库。但一些老的军惠用户因为版本的问题,只能这样使用了。而且这个问题改起来,基本要涉及到所有的录入页面了,工作还是蛮大的。 [/B]
最初由 husthxd 发布 [B]加cache是提高性能的一种很常见的方式了,同时会带来诸如同步这样的问题. 或者,P盘在当时是一种不错的解决方法.起码提供了一种思路.以空间换时间. [/B]
最初由 天光云影 发布 [B]这个问题在3.0版本的时候已经解决了。 新的标准字典输入法是采用了物化视图的方式来处理的,即将以前需要通过字典表生成的输入法词库改为物化视图,增加几个输入法配置表,应用程序在调用输入法时读这个视图,或者在程序使用过程中手工或自动刷新这个视图,以获取最新的标准词库。 历史原因是当初设计这样一个结构时,网络主流速度是10M,oracle 7.3,服务器都是单CPU的pcserver,内存也很小,因此以映射盘的方式将这些词库文件存放到本地,并在应用程序所在目录同步更新它,保证同步最新的词。随着技术的进步和网络性能的提高,这个当年方便的设计现在变成了一个问题,3.0版本已经解决掉了,不再使用网络映射盘。 代fals贴上面这段话 [/B]
最初由 lfree 发布 [B] 这样讲许多开发公司现在手头上还是1.0 或者2.0的版本。 [/B]
本版积分规则 发表回复 回帖后跳转到最后一页