三层结构为何这么慢!有何方法加快一点?(200分)

  • 主题发起人 主题发起人 yifawu1
  • 开始时间 开始时间
Y

yifawu1

Unregistered / Unconfirmed
GUEST, unregistred user!
三层太慢了!
我把 sql server 的 一个表加到 10000 条记录时,
打开表就用了20秒钟。
改了 packet 参数也是如此
 
先在你的应用服务器上(两层)测试一下打开该表的时间,看看时间瓶径到底发生在那一步了.
 
两层打开时不到一秒
 
是否三层结构不适合于大的数据库.
我采用socket 连接方式。采用单机测试.
 
应用服务器先启动了吗?
还是客户端运行时自激活的?
 
中间层基本上采用默认值。
 
我的意思是,你有没有先把应用服务器启动起来,然后运行客户端程序.
而不是等客户端程序运行时自激活应用服务器.
 
两者试过没有什么区别
服务器并没有试先打开数据
客户端临时调用数据,上传SQL语句给服务器,再返回数据
 
你的应用服务器上的DATABASE连接是什么时候干的?
 
采用ADOconction,没有用到BDE,也没有采用 database 组件.
 
你的应用服务器上的ADOconction连接是什么时候干的?
 
1、网络速度怎么样?
2、ado控件的属性是否设置正确
 
应用服务器上的ADOconction连接是在启动时就连好了
现在在服务器上事先打开表,
客户端直接连上(不传SQL语句)
若设packet 值为-1时,客户端打开仍要10秒.
 
ado控件的属性不知如何设才为正确,
与两层有何不同?
 
做下两个测试:
1.改用DCOM连接试验一下.
2.改应用服务层换成TDATABASE/TQUERY试一下,我知道这不是你要的,测试一下看看问题到底在哪?
 
现在将packet 设为20, 打开还是很快,但是我必须访问所有记录
因为这个表是所有的库存物品,都可能用到.
 
你PACKET不是搞过说不行吗:(
 
我是说现在设packet=20是快了,但是设为-1 就非得10 多秒
难到在程序进入时打开所有的大表吗?
 
难到为了使用三层结构就得让用户去多等10 多秒钟表吗?
 
老兄
  拜托,无论什么时候也也不可能同时使用一个表中的所有数据啊,带有计算等问题的
可以放在应用服务器上完成,我算是服了你了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部