access 数据库速度 慢的 问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了access 数据库速度 慢的 问题相关的知识,希望对你有一定的参考价值。

有个生产管理系统 是用access 2003 做的 ,放在服务器里,在客户端电脑通过局域网络直接执行服务器里的MDB文件,做操作。当一台电脑打开操作的时候速度还可以,两台以上同时打开操作就明显有卡,速度慢的现象。ACCESS 数据库 效率不如其它数据库(如SQL等)这谁是知道的,我现在就是想知道一台电脑打开和两台以上电脑打开,导致速度慢的具体原因是什么,是网络带宽?是内存少(服务器 内存1G,客户机512或256)?是ACCESS本身?是硬盘速度慢(服务器SCSI硬盘 RIDE 5)?CUP不够快?如果用软件在服务器内存上做个虚拟硬盘,把ACCESS拷贝到虚拟硬盘上,会不会,解决一些问题???????????????

问题在于Access 本身
SQL, Sybase, Oracle等大型数据库管理系统, 不仅在管理大容量数据库时性能好,速度快. 更重要的是在并发处理有优势.而并发处理对于数据库管理系统是最重要的, 你想新浪, 百度等这些网站, 同一时刻有多少人在访问啊, 数据库要同时快速响应多个用户的数据处理请求显得尤为重要.
你单位的局域网至少应该是百M的吧 , 所以网速应该不是问题; 就服务器本身的配置而言, 性能也应该满足了; 在一个客户端的情况下, 能够快速的访问, 表明跟客户端配置也没有关系; 所以可以认为, 是由于Access本身对于并发处理的性能低下, 才导致以上问题. 建议你可以装个SQL Server2005, 用它可以把Access的数据库转换为Sql server数据库, 当然你程序中和数据库相关的连接, 访问语句也要改一下.
PS: 你文中所讲的"生产管理系统", 可能将来也不止在两个客户端上访问, 当将来客户端越来越多的时候, 这个问题会更加明显. 所以建议你及早升级到 SQL Server, 毕竟Access只是个桌面型的数据库, 并不适合应用在这种场合下. 另外, 个人认为建虚拟盘并不会有太大的性能改善.
参考技术A ACCESS这个你也知道,当数据量大了点的时候遍历一遍是很慢的.而且非常消耗系统资源.
2.你写的一些操作语句,比如查询等语句是不是尽量将语句优化了的(查询一个东西,要用尽量少的语句实现一样的功能,以减少读取数据库的次数)
3.你说到上面服务器内存和客户机器的对比,内存的确是小了点.现在个人机器的内存也开始普及1G了.服务器最少要2G.还有,你的硬盘是不是老化,出现速度减慢等原因.可以用个软件测试下.
4.你是在局域网,就算是用双绞线连接也不会是网速的原因,这点你可以放心.
5.这些原因排除了之后那要看看你的Connection Statement ResultSet
在用完了之后是不是及时关闭了,有的时候这里疏忽了.对整个程序的影响是非常大的.
SQL, Sybase, Oracle等大型数据库管理系统, 不仅在管理大容量数据库时性能好,速度快. 更重要的是在并发处理有优势.而并发处理对于数据库管理系统是最重要的, 你想新浪, 百度等这些网站, 同一时刻有多少人在访问啊, 数据库要同时快速响应多个用户的数据处理请求显得尤为重要.
你单位的局域网至少应该是百M的吧 , 所以网速应该不是问题; 就服务器本身的配置而言, 性能也应该满足了; 在一个客户端的情况下, 能够快速的访问, 表明跟客户端配置也没有关系; 所以可以认为, 是由于Access本身对于并发处理的性能低下, 才导致以上问题. 建议你可以装个SQL Server2005, 用它可以把Access的数据库转换为Sql server数据库, 当然你程序中和数据库相关的连接, 访问语句也要改一下.
PS: 你文中所讲的"生产管理系统", 可能将来也不止在两个客户端上访问, 当将来客户端越来越多的时候, 这个问题会更加明显. 所以建议你及早升级到 SQL Server, 毕竟Access只是个桌面型的数据库, 并不适合应用在这种场合下. 另外, 个人认为建虚拟盘并不会有太大的性能改善
参考技术B 慢是正常的,因为会有共享操作延时的问题(同时操作,也是有先后的),但如果太慢,就一般是网络的问题了。

你可以计算一下,如果单机打开或进行某操作用时1秒,两台同时打开或进行某操作一般不超过3秒算是正常的。

作虚拟硬盘的办法可能会有好处,但建议先检查网络。个人意见。
参考技术C 1.ACCESS这个你也知道,当数据量大了点的时候遍历一遍是很慢的.而且非常消耗系统资源.
2.你写的一些操作语句,比如查询等语句是不是尽量将语句优化了的(查询一个东西,要用尽量少的语句实现一样的功能,以减少读取数据库的次数)
3.你说到上面服务器内存和客户机器的对比,内存的确是小了点.现在个人机器的内存也开始普及1G了.服务器最少要2G.还有,你的硬盘是不是老化,出现速度减慢等原因.可以用个软件测试下.
4.你是在局域网,就算是用双绞线连接也不会是网速的原因,这点你可以放心.
5.这些原因排除了之后那要看看你的Connection Statement ResultSet
在用完了之后是不是及时关闭了,有的时候这里疏忽了.对整个程序的影响是非常大的.本回答被提问者采纳
参考技术D 慢是正常的,因为会有共享操作延时的问题(同时操作,也是有先后的),但如果太慢,就一般是网络的问题了。

以上是关于access 数据库速度 慢的 问题的主要内容,如果未能解决你的问题,请参考以下文章

ASP 并行连接SQLServer 运行速度慢(运行在Access速度快,在SQLServer中却很慢)

MySQL中like查询速度慢的问题

如何检测一个aspx页面的速度慢的原因

Oracle查询速度慢的原因总结

Python语言 SQLite怎么用内存数据库解决插入数据时速度慢的问题?

postgresql 数据库 INSERT 或 UPDATE 大量数据时速度慢的原因分析