社区
PowerBuilder
帖子详情
简单问题,数据库中数据太多了,怎么办?
guiyings
2003-09-12 05:25:33
我的数据库中有个表(t_text)里的数据太多了,窗口打开时候好慢,我常以为死机器了。我在窗口的open()里直接retrieve了。
我要怎么做才能让数据读取的快一点?是要在数据库里写存储过程吗?是的话怎么写呀?该存储过程在pb中又要如何调用?不是的话又要怎么办?
...全文
543
20
打赏
收藏
简单问题,数据库中数据太多了,怎么办?
我的数据库中有个表(t_text)里的数据太多了,窗口打开时候好慢,我常以为死机器了。我在窗口的open()里直接retrieve了。 我要怎么做才能让数据读取的快一点?是要在数据库里写存储过程吗?是的话怎么写呀?该存储过程在pb中又要如何调用?不是的话又要怎么办?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
rola
2003-09-15
打赏
举报
回复
有两种办法:
1,设置 AsNeeded=Yes"
2,在数据窗体上设置一个retrieve参数,每次只加载一部分数据
kalven_chan
2003-09-15
打赏
举报
回复
一:数据库本身对数据量特别多的加上索引非常重要
二:才PB数据窗口中,设置retrieved as needed,这样每次只显示看到的数据窗口大小,你拉滚动条自己会检索,节省不少资源,不过做统计和遍历数据窗口的时候,不爽的
zzutligang
2003-09-15
打赏
举报
回复
给你举个例子,我的数据库(SQL Server 7.0)的一个表里有40多万条纪录,我用查询分析器在本机运行一个查询,条件字段不是主键,需要将近10多秒的时间,在另外一台机器上用ODBC连接上这个数据库查询,返回"超时已经过期"的错误提示,根本就检索不到数据。但我将这个条件字段建立一个索引,后只要0.3秒的时间。这就是差别。
结论:如果数据库设计的不完善,就别想通过其他的手段提高性能。
gengswallow
2003-09-15
打赏
举报
回复
1.在open事件中先写如下代码,意思就是只让数据在缓冲区中。
dw_1.settransojbect(sqlca)
dw_1.setfilter("1=0")
dw_1.filter()
dw_1.retrieve()
2.当点击某按钮或触发某事件时,用该条件。
ls_fi = "条件"
dw_1.setfilter(ls_fi)
dw_1.filter()
CQP
2003-09-15
打赏
举报
回复
1、数窗设置只检索一屏
dw_1.settransobject(sqlca)
dw_1.Modify("DataWindow.Retrieve.AsNeeded=Yes")
dw_1.post retrieve()
2、建立索引试试
eaglechou
2003-09-14
打赏
举报
回复
用索引可能会快一些吧
hongweicn
2003-09-13
打赏
举报
回复
可以用retrieve.asneeded业试一下
guiyings
2003-09-13
打赏
举报
回复
是在窗口的打开open()事件里这样写吗?
dw_1.settransobject(sqlca)
dw_1.Modify("DataWindow.Retrieve.AsNeeded=Yes")
dw_1.post retrieve()
我发现还是慢。
这个表好奇怪的,我发现不能建立索引。oprname(nvarchar类型)+data(nvarchar类型)+oprtime(datatime类型)按道理是可以建立索引的,可我建立后,包错如下:
服务器:消息1946,级别16,状态1
操作失败。1020字节的索引条目长度(属于索引‘index_type')超过了900字节的最大长度。我要怎么改对呀?
eastpond
2003-09-13
打赏
举报
回复
同意liu08()
liu08
2003-09-13
打赏
举报
回复
可以建立索引,或者你可以用数据窗口 retrieve AsNeeded 选项试一试。
guiyings
2003-09-13
打赏
举报
回复
这是别人建立的表,没有主键,每个字段都可以为空的,还有重复值,能建立索引吗?
guiyings
2003-09-13
打赏
举报
回复
要是打开时候数据不全部检索出来,窗口打开后,我在窗口中的每个控件都是用来实现过滤查询功能的。那每点击(clicked)一个控件都得重新检索表中所有的数据,那查询不是太慢了吗?每点击(clicked)一个控件得等好久才有数据出现,那不比打开窗口时候等一下更麻烦吗?
eminena
2003-09-13
打赏
举报
回复
加检索参数,如某时间点以后的数据,在必须显示全部数据时重新 retrieve
pobosskey
2003-09-12
打赏
举报
回复
限定一个时间,检索不到的就不检索,拖滚动条的时候再进行剩下的检索工作!
klbt
2003-09-12
打赏
举报
回复
适当的索引很重要。
winwhere
2003-09-12
打赏
举报
回复
只要索引建立的好,按条件检索出来,是很快的。
eaglechou
2003-09-12
打赏
举报
回复
在哪儿retrieve 都一样
加一些检索条件也许回好一些
不要一次全部检索出来
佣工7001
2003-09-12
打赏
举报
回复
dw_1.post retrieve()
huangxinru
2003-09-12
打赏
举报
回复
非要全部取出来吗?加一些条件。
warchild
2003-09-12
打赏
举报
回复
不能在open()里retrieve所以数据
数据
库
的
数据
太多
了怎么办?特别大的访问量到
数据
库
上怎么办?分库分表?| 大别山码将
数据
库
的
数据
太多
了怎么办,一个表有一亿个
数据
(特别大的访问量到
数据
库
上)?分库分表?Mysql的主从复制 1.使用优化查询的方法 1.使用索引 应尽量避免全表扫描,首先应考虑在 where 及 order by ,group by 涉及的...
数据
仓库和
数据
库
有什么区别和联系?
数据
仓库和
数据
库
有什么区别和联系? 简而言之,
数据
库
是面向事务的设计,
数据
仓库是面向主题设计的。
数据
库
一般存储在线交易
数据
,
数据
仓库存储的一般是历史
数据
。
数据
库
设计是尽量避免冗余,一般采用符合范式的...
MySQL
数据
库
如何解决大
数据
量存储
问题
各位高手您们好,我最近接手公司里一个比较棘手的
问题
,关于如何利用MySQL存储大
数据
量的
问题
,主要是
数据
库
中
的两张历史
数据
表,一张模拟量历史
数据
和一张开关量历史
数据
表,这两张表字段设计的很
简单
(OrderNo,...
数据
库
过大,怎么办??
数据
库
太大的通常解决办法2010-04-28 10:00 前段时间碰到有朋友的
数据
库
达到8G多,导致系统总是出现假死机的现象,因为朋友对这方面的知识不是很专业,导致误以为是硬件故障,盲目的更新硬件升级服务器,结果...
如何保证Redis缓存和
数据
库
的双写一致性?
在
数据
库
+缓存模式下,当
数据
库
中
的
数据
需要更新时,缓存里的
数据
怎么处理?如何保证缓存和
数据
库
中
数据
的一致性?常用的解决方案有两种(其他渣渣的方案这里不讨论): 1、先删除缓存,再更新
数据
库
; 2、先更新...
PowerBuilder
1,075
社区成员
66,437
社区内容
发帖
与我相关
我的任务
PowerBuilder
PowerBuilder 相关问题讨论
复制链接
扫一扫
分享
社区描述
PowerBuilder 相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章