tuxedo游标操作大表慢的问题?

2008-04-09 04:04:17来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


我在测试时发现,在tuxedo(8.0)中使用游标对数据库(ASE12.0)的大表操作时速度很慢,为排除是数据库本身慢的原因,我写了一个和tuxedo中功能相同的procedure进行直接调用,发现速度很快!

所以有以下疑问:
1、是否在tuxedo中在使用游标操作时需要进行特别的调优?
该如何调优?

2、是否tuxedo中使用游标对大表操作就是慢,没辙?

考虑到这里没有中间件版,只好跑到这发一贴了,希望大家发表点意见!谢谢!!

一无所有 回复于:2003-02-25 12:34:44 你的这个问题我们也碰到了。
但我不知道你所知的大表是指字段数,还是记录数。
如果是记录数,可以使用分页的办法来处理。

jazy 回复于:2003-02-25 18:28:42 比如我要同时从两个表中取10条符合条件的纪录,其中一个表中每天只有不到5万的纪录,另一个表中则有上千万纪录。两个表的结构基本相同,但是游标在对大表open时非常的慢,这点已经单步跟踪出来了!,但是其实这个表是有索引的,如果直接在存储过程中进行游标操作,几乎在1秒内就有结果,但在tuxedo中却要数十秒!

我这里所说的大表是指纪录数,而非字段!
你所说的分页是什么概念,是在数据库级吗?还是在tuxedo中处理?

如果是在数据库级,就没什么意义了,因为数据库本身性能很好啊!但对于tuxedo来讲却那么慢!

一无所有 回复于:2003-02-26 13:07:45 我想你指定的数据一般是做查询,显示用,
如果是做统计用,你完全可以在存储过程里处理后再提取。
如果是做查询用,我所指的分页就是在tuxedo处理,
每次例如只提取50条数据,
向下翻页显示的时候,再取下面的50条,
你可以尝试用快照实现。

jazy 回复于:2003-02-26 14:08:08 现在的问题是如何在服务端快速的获取到客户端需要的数据!
不使用游标行吗?

一无所有 回复于:2003-02-26 19:54:58 客户端需要的是什么样的数据?
可否对原数据和目标数据进行一下描述?

jazy 回复于:2003-02-26 22:43:07 其实,客户端需要的是10条以内的缴费纪录,每条也就是3个字段!

在服务端通过游标从数据库获取按查询条件得到的数据,然后进行拼串返回给客户端。

一无所有 回复于:2003-02-27 18:47:40 如果是这样你就完全没有必要用游标了,
如果客户那边的数据库服务器不是太差,
你可以把所有的动作都放到存储过程里,
然后从前台解析字符串。

jazy 回复于:2003-02-28 14:03:04 是啊,我现在也只能这样选择了,因为目前还没有任何解释为什么在tuxedo中使用游标会那么慢了!但是通过存储过程返回查询结果集的方式不是很灵活,而且对于大量数据集就可能不适用了,编程上麻烦多了!

一无所有 回复于:2003-02-28 17:04:07 一般情况下,在一次需要200条以上数据时,我不会用Tuxedo的游标,
那样做简直是磨练人的耐心。
我们现在也只有这样了。
我不知道你们那边的具体情况,
我们这边已经有了一套比较成熟的字符处理包函数,
所以这样处理对我们而言是比较方便的。
如果是大数据的查询,
我以为一般是发生在数据比较集中的几个地方,
用C/S算了。

jazy 回复于:2003-02-28 17:07:54 其实,目前我们查询的要求只是播放给用户10条以内的纪录,所以才会用三层方式!但是我在处理结果时遇到了些问题,不知道你能否帮忙看看!
在c/c 中我有一贴关于这个问题!

无双 回复于:2003-03-06 18:30:20 这样的文章也不加精华
看来这里的版主要求也太严格了

一无所有 回复于:2003-03-06 23:11:38 我觉得我们还没有真正解决问题!
加入精华,怕误导别人!

jazy 回复于:2003-03-07 03:00:50 问题已经暂时解决,但却走的是不同的路@

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:利用 Rational Unified Process 达到 CMM 级别 2 和 3 ...  

下一篇:软件开发过程生命周期模型 讨论