关于程序性能问题,高手请进,谢谢
我们经理用VB(5/6)编写了一个比较大(60多万行代码)的行业软件,公司各个部门都用它来处理数据和业务,比如下单、提单、跑月结、跑报表等。
现在遇到了一个非常棘手的问题:
多人使用的时候(执行各种操作),有时速度会一下子骤降下来,本来以前2秒钟能读到的数据有时要等好几分钟,最严重时等过十几分钟,但通过查询分析器登录到SQLServer执行相关操作时却很快。
我们被这个问题困扰了很久,一直找不到原因,也不知具体问题出在哪里!!!
由于该软件编写得比较早(始于VB5),用的是RDO连接SQL2000服务器,大部分的数据库操作都是通过调用存储过程实现。
由于我写程序的时间比较短,对VB、RDO、SQLSERVER都不是很了解,
热切希望得到各位高手,特别是熟悉vb\rdo\MS SQLSERVER的高手的帮助和指点!
[解决办法]
up
[解决办法]
顶顶...这个优化一下数据库应该可以的...
[解决办法]
你对数据库的每个表都建立高性能主键,这个应该是数据库的问题!
[解决办法]
观查一下速度慢时大家调用哪个存储过程,可能存储过程中的事务处理中有锁表的情况。
[解决办法]
优化数据库
[解决办法]
应该是存储过程里面有锁表的情况,可以在Table Name后面加上 (NOLOCK),
[解决办法]
你用查询分析器的时候,有没有其它用户在用,如果没当然是快啦。
[解决办法]
1.建立主键
2.用数据库的分析功能分析你的语句 建立索引。特别是在时间字段
[解决办法]
关键是你用查询分析器是在什么地方用的?
如果是在SQLServer服务器本机用的,那说明你们的程序在网络寻址上要改进.最好直接使用IP地址进行连接.
或者建议你把SQLServer服务器换台好点的机器.会不会是机器太臭了并发处理不过来?
实在是什么都不能动的话,在特别慢的时候重启一下SQLServer吧!
总的来说,问题一般是出在SQLServer服务器本身.
如果能改程序,建议还是改成三层结构吧.