棘手的数据库问题.
我现在正开发C/S模式的数据库服务程序,多客户共享服务器中的SQL SERVER数据库.数据库中的任何改变都要在客户机上(未知台数)实时的显示出来.我现在的算法是在客户端程序添加Timer控件,此控件每隔一秒读取数据库中的数据来判定数据库是否改变,如果改变则读取.(相当于后台监控)但是现在的问题是用Timer太占系统资源,平均每隔一定的时间都要自动重读数据库来判定数据库是否改变,操作其他的功能时有明显的停顿,特别是在网络硬件设施不太好的情况下,读取每单位的数据量传输效率都不是很高,更别说是每隔一定的时间读一次了!(这个时间不能超过1秒)速度简直是蜗牛不说,Timer中的程序占用了单线程,执行其他本程序的功能时简直就不能用了.我也曾经试图将Timer中的处理用多线程来实现,但是vb好像做多线程的程序不太现实,不是非法操作就是内存不能读.(差点儿用vb.net写) 请问大家服务器的数据库改变实时
的通知客户机有没有什么更好的算法?去掉这个讨厌的Timer控件? winsock也不能用.
如果不能去掉有没有什么办法最基本的让程序在任何的网络环境下运行的流畅?
help me !Think you!