CNET中国旗舰网站
ZDNet China
|
CNET科技资讯网
|
政府采购
|
行业网站联盟
ZDNet China 至顶网是中国最大的企业级IT资源门户
首页
网络安全
存储
服务器
软件
桌面产品
开发
企业管理
白皮书
中小企业
新闻
下载
社区
企业网
无线网
过滤防护
安全管理
网络存储
磁带库/VTL
数据保护
光存储
X86服务器
虚拟化
小型机
操作系统
数据库
中间件
协作办公
手机
笔记本
数码相机
C/S开发
web开发
移动开发
web软件
应用软件
博客
论坛
搜索
搜索
高级搜索
用户登录
用户名:
密码:
登录
新用户注册
社区首页
未证实消息
桌面产品
软件
开发
网络与安全
服务器
存储
下载
苹果爱好者
中小企业
活动专区
病毒/木马
新知天下
CWEEK专属社区
悬赏问答
游客:
注册
|
登录
|
会员
|
搜索
|
论坛设施
|
帮助
ZDNetChina中文社区
»
数据库开发
»
PB
» 请注意数据窗口的rowfocuschanging事件
‹‹ 上一主题
|
下一主题 ››
投票
交易
悬赏
活动
打印
|
推荐
|
订阅
|
收藏
标题:
[转贴]
请注意数据窗口的rowfocuschanging事件
hyshi
明星会员
UID 254160
精华
5
积分 24050
帖子 2066
威望 11470
ZD币 3012 元
阅读权限 230
注册 2007-10-10
状态 离线
楼主
发表于 2007-11-14 15:11
资料
个人空间
短消息
加为好友
开发者在线
请注意数据窗口的rowfocuschanging事件
问题表现:
一个数据窗口,检索之后,表现出类似死机的状态。
解决问题过程:
经过分析源代码,发现其检索的原理很简单,就是将一个数据窗口数据检索出来,然后作一个循环,删除数量为0的数据。
开始,编这个程序的程序员认为是sql执行效率的问题。但我认为数据库数据只有几十万,就算没有索引,其速度应当也是在可容忍范围之内的。
仔细分析,发现数据窗口中有一个计算列,计算列中有一个函数。该函数中有一个sql语句。分析该sql,发现其速度也很快。
做一个demo,直接retrieve该数据窗口,发现速度很快。
然后在demo中写一段循环语句,发现该循环执行的很慢。(数据窗口只有几百条记录)
分析:
数据窗口的计算列计算过程应该在数据行改变之后。比如,数据窗口有10行,删除一行,该函数执行9遍,再删一行,函数又执行8遍。。。。以此类推,数据窗口不停的执行sql语句,导致程序执行时,表现出类似死机的状态。
解决方案:
方案一、不要在数据窗口计算列中放函数,通过程序调用函数,计算好数值,然后写到数据窗口。这样,数据窗口删除行时,不会出发该函数。
方案二、不要用循环删除行,直接用过滤,这样最多是过滤之后,过滤剩下的行执行一遍该函数。
热点频道推荐:
C/S开发
|
数据库
|
WEB开发
|
嵌入式
|
项目管理
|
投票
交易
悬赏
活动
控制面板首页
编辑个人资料
积分交易
公众用户组
好友列表
个人空间管理
开通个人空间
基本概况
流量统计
客户软件
发帖量记录
论坛排行
主题排行
发帖排行
积分排行
在线时间
管理团队
管理统计
问卷调查
当前时区 GMT+8, 现在时间是 2008-11-22 07:02
Powered by Discuz! 5.5.0 © 2001-2007 Comsenz Inc.
Processed in 0.177406 second(s), 4/4 queries
TOP
清除 Cookies
-
联系我们
-
ZDNetChina中文社区
-
无图版