我在我的应用程序中有一个显示传输事件的列表视图,这个列表视图应该每秒更新一次,以跟进事件。我只是通过一个计时器(1000 间隔)来声明一个连接对象,dataReader... 然后填充列表视图,最后,我处理连接和另一个对象(这是每个计时器滴答声)。
现在,有没有更好的方法来做到这一点?也许对性能,内存或其他东西更好?
我不是专家,所以我想也许每秒都在声明许多连接可能会造成一些记忆问题:)(如果有误,请纠正我)
数据库访问 2007 VS 2012
谢谢你。
假设您使用 ADO.NET 访问您的数据库,您的访问模型应该没问题,因为 .NET 使用连接池来最小化关闭和重新打开数据库连接的性能影响。
但是,您的整体架构可能会受到质疑:在计时器上轮询更新通常不是最佳选择。更好的方法是在单独的表中维护更新序列。该表将只有一行,其中一int
列最初设置为零。每次对“真实”数据进行更新时,这个数字都会增加一个。有了这个表,您的程序每秒可以只读取这个数字,而不是重新读取整个数据集。如果您的程序检测到该数字与上一次相同,它将停止并等待下一个计时器间隔;否则,它重新读取数据集。