两种方法那种好?
刚接了一个项目,已有源程序,现在想推倒重来,在研究代码时发现原来的程序对数据库的操作非常少。除了一些必要的基本信息从数据库中提取以外,很多都是通过代码自己实现。
举个例子,程序中有一个功能是这样的。机器发送一个命令给下面的几十台仪器,仪器要返回数据,仪器很多,而且有的返回快,有的返回慢,那么就需要对接收到的数据根据仪器的地址码排序,排好序后在对数据进行处理。这个排序如果让我来做,我想我会把接收到的数据送入数据库,然后再根据地址码排序,再输出。但是原来的代码中却用了一个排序的算法来做。程序中像这样的例子很多,不仅是排序,还有标志位什么的。
原来编写这个程序的人是搞通讯的,对编程语言不是很了解。
我的问题就是直接在代码中处理跟送入数据库处理后输出那个快?孰优孰劣?
问题点数:50、回复次数:5Top
1 楼viena(维也纳N02)回复于 2006-03-15 09:09:53 得分 10
数据库是以磁盘文件持久保存的,当然比在内存中直接操作慢的多了
而且数据库是为了适应各种可能的情况的,操作更慢,根据特定情况自己写当然灵活多了Top
2 楼WallesCai(女人之美,在于蠢得无怨无悔,男人之美,在于撒谎撒得白日见鬼)回复于 2006-03-15 15:33:50 得分 20
在程序中数组排序比较快,数据库操作的话会比较慢.
但是用数据库操作的话,程序的扩充性会比较好,你甚至可以把SQL语句都保存在数据库理面.
关键看你这个程序用的时间是否长久,将来是否会扩充,等等,要考虑的事不少,不能只简单的看哪个快.Top
3 楼ZOU_SEAFARER(颓废程序员^_^)回复于 2006-03-15 15:39:05 得分 10
要是送入数据库,度取硬盘数据和读取内存数据你说哪个快点呢?
如果这样的数据需要保留的话,我也是希望先把数据排序好以后再写如数据库!Top
4 楼KissApple(菊花普洱茶)回复于 2006-03-15 17:35:32 得分 0
程序不会运行太长时间,1年也就运行一次,一次也就运行半天左右,数据量也不是很大。但是以后有可能要扩充。
主要是看旧的代码写得实在是累赘,也许他的思想是好的,但是处理手法不是很好,好多地方看懂了它的功能但是却不知道他为什么要这样做。Top
5 楼iget(悟不透)回复于 2006-03-15 17:48:15 得分 10
要是我就放到一个recordset里面去,然后 rs.sort
不用写算法,也不用写数据库。Top




