我和楼主有过相同的经历,所以也谈谈我的看法:
1。服务器端采用ADSL宽带接入对速度有很大影响。我们都知道ADSL不管带宽是几M的,其上行带宽最多为512K(一般2M宽带,上行是256K,4M宽带,上行是512K),这是ADSL这种模式自身决定的,无法改变。而对于对外提供数据的服务器来说,其使用的刚好就是网络的上行带宽,这就决定了用ADSL做服务器的网络对系统的响应速度有很大影响。建议改用光纤(光纤的上行和下行带宽是一样的,一个6M的光纤就可以提供6M的上行带宽,而不受512K的限制。)
2。使用链接表或者ODBC对系统的性能影响也比较大。刚才前面也有前辈提到过用ADO,的确ADO是一个比较理解的工具,也是目前来说最快的连接方式。
3。只是把连接方式改成ADO也不一定速度就会提高很多,而是要注意编程的方式。不要一提到优化代码速度就觉得离自己很遥远,就觉得不是我们业余程序员所能做到的,其实远非如此,只需要对ADO和SQL SERVER具备基础知识就可以做的很好,我们可以这样想:
(1)系统慢,为什么会慢,瓶颈是什么?瓶颈是网络流量受限制,不然为什么在局域网不慢呢。
(2)既然是网络限制,那我们少让数据在网络之间传来传去不就行了吗,那就尽可能少的交换数据吧。
(3)带着这个理念看程序,如果把很复杂的查询计算方在客户端,那么为了实现这么一个计算,客户端要向服务器请求很多数据然后在客户端计算机完成计算,得到想要的一个数字或者是一个记录集,这样效率必然会低。我们能不能把客户端仅作为结果显示输出的工具,运算和业务过程都放在服务器上运算,最理想的模式应该是客户端只需要向服务器提交一个参数,或者仅仅一段命令,服务器就把最终结果以记录集的方式返回给客户端,这时客户端只负责把从服务器收到的这个结果显示在应有的界面上供用户查看。
(4)把客户端比较复杂的查询改成服务器上的存储过程,把复杂的计算方到存储过程中。需要时,客户端只需想服务器发送一条指令,执行这个存储过程,你想要的结果就从服务器上传回来了。
(5)链接表不是不能用,可以直接取链接表的数据使用,但不要让链接表参与复杂的计算和查询,这样会很浪费网络资源。
只要做程序时多考虑一下数据在客户端和服务器之间传递的过程,你的程序就不会太差。
我也是从链接表转到ADO和SQL SERVER语句上来的,虽然有点麻烦但很快乐,每次看到同样的功能用不同的方式做出来速度的天壤之别就会让人很兴奋,相信你也会很兴奋。
楼上也有前辈说用远程桌面和终端服务来解决,这只是一个权宜之计。
1。XP的远程桌面只能允许一个人同时使用,虽然经过变通的方法也可以让两人同时连接但也不是根本解决问题的根本途径;
2。server版的windows支持2人同时使用远程桌面;
3。终端服务只有server版的windows支持,XP貌似不支持。另外购买终端费用也不少,至于不付钱破解终端的方法网上有流传,我没试过。
4。远程桌面和终端服务很难解决打印和数据导出的问题。因为你的操作都是在另外一台电脑上进行的,打印和数据导出当然也是相对于远程计算机而言的,如果你本地的打印机是连在机箱的打印机接口的,还可以把打印机带到远程电脑上,如果是USB接口的或是共享别人的打印机,你得想办法能让数据打印到本地来。数据导出就更难了,导出的全在远程计算机上。
反正我觉得如果时间充裕的话,还是尽量学习一下ADO和sql编程,这个是根本的办法。