Z
zqs10597249
Unregistered / Unconfirmed
GUEST, unregistred user!
首先说说环境:后台Oracle8i,把业务封装为8个服务,
服务之间也用dcom连接(有可能中间层有互相调用的可能,
BDE连接用datadase,用session处理一个进程下的多事务)。
客户端dcom连接,一个数据模块,用了8个dcomconnection
(用了容错处理,动态读INI的IP),系统起来就把8个服务一起起来。
当数据量大时,出现以下问题,并做临时解决,请大侠指点
1、建树程序,本来采用一次性建完,数据量大或者说一个树
结点下有上千条记录时速度慢得可以,现改为逐层建树
2、原来想客户端不容许sql语句,条件过滤用filter
(当然有充分用到索引)
可是当数据量大时,第一次查询速度奇慢,先改为
传commontext把时间分配给每次操作
3、原先中间层用lookup字段进行多边关联,可是当数据库
的表关联建多了时,出现查询速度慢,现用客户段直传
sql,用等值连接或外连接进行多边关联
4、用的dbgrid当用户拖动滚动条一次性到比较后面时,数据量
大时,速度慢,现把dbgrid改为每拖动一次取一个包的量(我们
的每个clientdataset的packedrecord为20)。
现在还存在一个问题,就是系统中有导航器,当点数据集末条或者说
头条时不知道如何解决,请求方案(clientdataset.first,clientdataset
.last,绝对不行)
5、大数据统计时曾经采用多线程和存储过程统计,速度不是很理想,现才用
定期触发生成统计表(让一个专门的过程数据中间层去实现),当然客户段
提供重新统计功能,提示用户等待。
请大侠讨论并留下点评,谢谢!
服务之间也用dcom连接(有可能中间层有互相调用的可能,
BDE连接用datadase,用session处理一个进程下的多事务)。
客户端dcom连接,一个数据模块,用了8个dcomconnection
(用了容错处理,动态读INI的IP),系统起来就把8个服务一起起来。
当数据量大时,出现以下问题,并做临时解决,请大侠指点
1、建树程序,本来采用一次性建完,数据量大或者说一个树
结点下有上千条记录时速度慢得可以,现改为逐层建树
2、原来想客户端不容许sql语句,条件过滤用filter
(当然有充分用到索引)
可是当数据量大时,第一次查询速度奇慢,先改为
传commontext把时间分配给每次操作
3、原先中间层用lookup字段进行多边关联,可是当数据库
的表关联建多了时,出现查询速度慢,现用客户段直传
sql,用等值连接或外连接进行多边关联
4、用的dbgrid当用户拖动滚动条一次性到比较后面时,数据量
大时,速度慢,现把dbgrid改为每拖动一次取一个包的量(我们
的每个clientdataset的packedrecord为20)。
现在还存在一个问题,就是系统中有导航器,当点数据集末条或者说
头条时不知道如何解决,请求方案(clientdataset.first,clientdataset
.last,绝对不行)
5、大数据统计时曾经采用多线程和存储过程统计,速度不是很理想,现才用
定期触发生成统计表(让一个专门的过程数据中间层去实现),当然客户段
提供重新统计功能,提示用户等待。
请大侠讨论并留下点评,谢谢!