据库中所有数据读到内存以便匹配指纹,数据量小还行,这数据量一大,就靠那无线网络的传输,只怕都要等个三五分钟,再加上超大的内存占用,程序运行起来,肯定慢得像乌龟。
问题摆在面前,就得赶紧解决,别人那体检车,每天体检两次,光DR图片大小就得突破一个G,要是因为软件问题停工个一天两天,这损失他承担不起。
于是赶紧开会,虽说火基本上已经烧到了眉毛,他还是平静地说:“怎么样啊?小扬,BUG改得怎么样了?”
“改完了,这次是真的没BUG了,我检查了好多次了,这次保证肯定绝对可以用了。”
“放屁,你那是‘暂时没有发现BUG’,我跟你说了好多次了,你没发现BUG不代表BUG不存在!”
“是是是,暂时没发现。影头,可以做其它的了。”
“好,你不是说要做大CASE吗?EB的代码你也看了,算大了吧。咱们现在就来做这个。先来修改一下EB的问题,主要有两个:一、启动速度太慢,我想到的解决办法是启动时采用多线程方式,在后台读取数据,不再读取数据库中所有的数据,仅读取体检号和指纹,匹配指纹的时候再通过体检号去数据库查询其它信息。因为他们体检的时候很少用到指纹仪,虽然记录多,但只有一个体检号,占用的内存也不大。二、各个页面的显示速度太慢,特别是体检人列表这一页,主要是因为页面的显示用的是JavaScript,效率不高,而且是把所有记录都显示到同一页。当时我们设计那页的时候还不知道除了JavaScript之外还能用什么办法,但随着CASE的进行,到后期我们已经掌握了IHTMLDocument2和IHTMLElement接口,用这两个接口来操作性能应该要高得多。另外还要分页显示,比如一页就查30条记录,要再看其它的,就点下一页。就像google,随便输入个热门关键字检索结果动辄几十万上百万条,要是全部都显示到一页,光是生成个页面都得等死人。这个我后来也调研了,用‘select’的‘top’子句。”
绝影在上面把自己的想法一股脑讲给下面,基本上把问题产生的原因和解决方法都描述得清清楚楚,就是没差写出具体代码了。BugYang他们在下面表面上听得认认真真,实际上他一直在热血沸腾兴奋不已,根本就没在乎他讲的什么。等到他话音还没落,BugYang立即踊跃而上,说道:“影头,说那些都没用,直接告诉我让我做什么就行了!”
“老实点!再跳,又让你回去改BUG。”
这么说,BugYang又努力让自己安静下来。
“启动部分我来做,你和小唐去解决第二个问题,小唐做查询和分页显示,你把所有JavaScript的调用改成IHTMLDocument2和IHTMLElement的,关于那两个接口的用法,在EB的代码里面就有例子,解决起来应该不难,有什么问题就来问我,别误了工作。”