我们有一个 Windows MFC 应用程序,它是针对公司服务器上的 Access 数据库编写的。数据库并没有那么大:19 MB。同一时间最多有2-3个用户 Access 。它用于工厂环境,其中内联网的 Access 速度(或缺乏速度)变得明显,因为它是我们小部件制造时间的一部分。
场景是这样的:当每个小部件完成时,它会在数据库中获取一条记录。到了年底,数据库变得更大,搜索记录的时间越来越长。到目前为止的解决方案是每年手动将旧记录移动到存档表一次。
我们现在正在重新设计此应用程序的其他部分,如果我们打算这样做,那么现在是移动到另一个数据库的好时机。
据我了解,如果我们使用 SQL,搜索时间不会随着表变大而增加,因为不必每次都通过网络发送整个 .mdb。它是否正确?有谁知道是否值得花费时间和金钱迁移到新的数据库,或者我应该为我们现在拥有的应用程序添加更多功能,也许会自动清除旧记录时不时地向应用程序添加额外的功能以在需要时获取旧记录?
感谢您分享的任何智慧..
请您参考如下方法:
由于您的数据库很小并且用户很少,因此我无法为迁移提供可靠的理由。我肯定会设置一个脚本来更频繁地归档旧记录(不要归档到同一个数据库中,这会在某种程度上达不到目的)。 但还要确保两件事是正确的。
- 索引。如果您的查询开始变慢,请确保您有适当的索引 http://support.microsoft.com/kb/304272
- 计算机之间的网络连接速度很快。也许升级到千兆卡和路由器?可能将数据库放在 SCSI 驱动器上(RAID 10 以提高速度和冗余)
将先进技术应用于简单问题是一种昂贵的方法,而且并不总是解决问题的方法!