请各位指点数据窗口检索进行优化

dotnba 2002-06-27 11:02:13
原来的一些数据窗口在检索时本来还可以忍受,但是随着数据的与日俱增,一些数据窗口在检索速度就实在令人...我想这是很多象我这样PB菜鸟在使用数据窗口时通常会遇到的问题,并且还通常找不到好的解决方法。
在这里,我想请教大家。希望大家能够指点
1、数据窗口设计时Rows——》Retrieve——》Rows as Needed / Rows To Disk
请问他们分别是什么意思?在Sql Server 2000企业管理器中,随便选个表(数据量大一点就行),在翻页的时候,能够明显的发现数据的刷新(好象还是逐行的)。不知道在PB中是否能实现,它采用了什么样的技术,这和VB中返回的RecordSet,然后可以MoveNext等方法是否有联系?
2、多使用左连接或者右连接
3、使用视图、存储过程作为数据源
4、如何得到检索需要的具体时间,添加进度条,以增强用户等待心理...
...
我想到这些,希望大家能够帮我解释以上方法,并提供一些其他解决方法。
...全文
36 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
dotnba 2002-07-12
  • 打赏
  • 举报
回复
:$
dotnba 2002-07-12
  • 打赏
  • 举报
回复
:$
NewSun99 2002-07-03
  • 打赏
  • 举报
回复
号召力不行!
yuhu_78_78 2002-07-02
  • 打赏
  • 举报
回复
學習!收藏!

up!
morningdew 2002-07-02
  • 打赏
  • 举报
回复
我也正在为这个问题挠头呢????学习。
NewSun99 2002-07-02
  • 打赏
  • 举报
回复
高手都忙于舌战去了吗?
呵呵,没人讨论了!
dotnba 2002-06-29
  • 打赏
  • 举报
回复
可惜都没猜中
继续讨论问题!
Methodor 2002-06-29
  • 打赏
  • 举报
回复
2:1~
NewSun99 2002-06-29
  • 打赏
  • 举报
回复
韩国VS土耳其
1:2
dotnba 2002-06-28
  • 打赏
  • 举报
回复
http://www.csdn.net/expert/topic/835/835664.xml?temp=.2710535
NewSun99 2002-06-28
  • 打赏
  • 举报
回复
回复人: tobephonix(我本英豪) ( ) 信誉:100 2002-06-28 09:13:00

sqlca的连接参数没有优化的作用,它仅仅提供连接数据库所必备的信息;出现你这种情况可能有如下原因:
1、网络速度慢;
2、你检索数据时候,碰巧有人在修改表中的数据,这时系统无法执行你的检索操作;
3、你的表没有创建索引,或者创建了索引,但是检索语句没有用到索引,
的这对检索速度影响非常大;
4、sql server 分配的内存不够;
5、tempdb空间不够,如果你的检索语句中包含order by 或者group by 的话会需要tempdb空间支持;
6、检索语句中包含了很多的嵌套sql语句或者是表之间的连接;
HJZ2970 2002-06-27
  • 打赏
  • 举报
回复
http://www.mecca.com.cn
HJZ2970 2002-06-27
  • 打赏
  • 举报
回复
2 层的没有办法明显提高速度,若你采用 3层的速度提高非常明显(对有大量数据的表而言),数据窗口设计为外部的,数据从服务器端的 Sevice 或存储过程来获得,仅供参考。
am2000 2002-06-27
  • 打赏
  • 举报
回复
索引可以优化查询性能..
qianfl 2002-06-27
  • 打赏
  • 举报
回复
做进度条的话要先知道RETRIEVE会检索出多少条记录,可以用和DATAWINDOW一样的WHERE条件统计COUNT(*),然后在RETRIEVEROW事件里控制进度条
qianfl 2002-06-27
  • 打赏
  • 举报
回复
Rows as Needed 意思是只检索当前窗口可以显示的行,按PAGEDOWN翻页时再检索下一页显示的数据,这个选项可以加快RETRIEVE的速度,但不能用于统计了,因为数据不完整
xwmhn 2002-06-27
  • 打赏
  • 举报
回复
学习
xiaoxianhe 2002-06-27
  • 打赏
  • 举报
回复
收着呢。
dancer 2002-06-27
  • 打赏
  • 举报
回复
这其时应该与数据窗口无关,关键的是数据库设计的好不好,以及索引的建立等有关系
myclife 2002-06-27
  • 打赏
  • 举报
回复
如果是业务处理,如果在业务发生后每年做一次处理(年度处理)。
将本年发生的业务数据生成新的数据表(表明可以是原表+年度)存放,另外将该业务表中的数据清理(其中未完成的业务数据不予清理),然后新的年度发生业务存放予清理后的表中。
查询时选择年度后从相对应的表中取(一年的),应该从量上要少的多。
在跨年度查询时可能要费点事还有时间,要运算生成。
加载更多回复(8)

1,077

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧