程序运行太操作,会导致电脑如同死机一样,占了cpu100%的空间,有没有什么方法可以将cpu空间占少一些呢?又或怎么样才能搞得没有这种死机
程序运行太操作,会导致电脑如同死机一样,占了cpu100%的空间,有没有什么方法可以将cpu空间占少一些呢?又或怎么样才能搞得没有这种死机的感觉呢?
问题点数:100、回复次数:21Top
1 楼lzheng2001(1加1)回复于 2005-06-04 18:12:16 得分 3
什么大操作! 把语句贴出来Top
2 楼princelily(百合)回复于 2005-06-04 18:37:31 得分 3
对于能够使用PB中数据窗口来操作数据的时候,尽量使用dw,因为PB已经替用户考虑到了数据交互缓存的问题。尽量不要使用直接的SQL语句,当不像使用dw可视化的情况下,使用datastore数据存储对象来实现对数据的操作。因为每一条SQL操作,都会和服务器交互一次,那样的话会占用信道,提高CPU使用率的。
还有,对所有自己定义的对象,记得用完后要destroy,释放内存啊!Top
3 楼ribut9225(幽灵庄主)回复于 2005-06-04 19:15:32 得分 3
呵呵
说不定是循环的数据太多了
要优化操做。。。Top
4 楼dsclub(任搏软)回复于 2005-06-05 00:01:00 得分 3
自己程序设计的问题吧?Top
5 楼angloy(烂柯遗梦)回复于 2005-06-05 00:47:09 得分 3
如果是数据窗口查询数据得话建议看看select语句是否有可以优化得地方,以前就碰到过。Top
6 楼zhongqing405(钟情405)回复于 2005-06-05 17:44:48 得分 3
可不可以停用一些不用的又占cpu大的空间的进程呢Top
7 楼K1933(快乐的熊)回复于 2005-06-05 18:16:04 得分 0
是这样子的,我是执行两条多条的insert into语句。这种语句可能没有别的办法可以进行再次优化.Top
8 楼lzheng2001(1加1)回复于 2005-06-05 18:23:46 得分 3
另自做一个exe程序专门处理这些操作,在PB中用run运行它
或者把数据拆分,分开多次insertTop
9 楼K1933(快乐的熊)回复于 2005-06-05 19:01:20 得分 0
我已经将数据拆分了,也设置了进度条,如果我不进行操作的话,可以很正常的进行;但如何点击其它程序的话,进度条就不显示了。Top
10 楼K1933(快乐的熊)回复于 2005-06-05 19:30:47 得分 0
UPTop
11 楼lzheng2001(1加1)回复于 2005-06-05 19:43:56 得分 3
不显示? 应该是窗口没有被其它窗口遮住了吧! setpostion()把窗口置顶就行了Top
12 楼qyqtn(大巫)回复于 2005-06-05 20:03:57 得分 3
简单的insert应该没问题的,如果你把一个表中的大量数据insert另一个表中,就没办法了
Top
13 楼li_d_s(鄙视那些不懂Java却跑来乱骂的人,.NET没啥了不起)回复于 2005-06-06 09:05:04 得分 3
做成存储过程调用Top
14 楼ckc(火)回复于 2005-06-06 09:54:47 得分 55
如果有大量的操作需要处理,需要时间很长的话,你应该在循环体内执行以下语句
do while yield()
loop
这样虽然慢点,但是可以保证本程序操作正常,也不会过多占用cpu资源Top
15 楼K1933(快乐的熊)回复于 2005-06-09 13:15:00 得分 0
呆,谢谢!试一下先。Top
16 楼chbcy(菜菜)回复于 2005-06-09 15:53:18 得分 3
我前段时间也一直受一个问题的困扰,我在进行数据导入时速度很慢,将更新的字段减少,并采用临时表过渡,才解决导入速度的问题,如果是这个问题可一起探讨探讨,我的QQ:34914729Top
17 楼hl8189(9)回复于 2005-06-09 20:50:46 得分 3
查下循环,是不是在插入和删除操作中出现的啊?那样看看你表的索引Top
18 楼HermanG(冇名)回复于 2005-06-10 00:52:56 得分 3
试试 多线程吧 肯定能解决你的问题 ,但是比较麻烦就是了。
因为主线程 和 子线程 交换数据的时候要通过一个 中介的用户对象 。Top
19 楼j9dai(翔)(DoItNow)回复于 2005-06-10 09:00:53 得分 3
关注 + 友情UPTop
20 楼juz_007(萨拉丁)回复于 2005-06-11 10:47:31 得分 3
不知道到你的程序是个什么样子的?Top
21 楼K1933(快乐的熊)回复于 2005-06-11 20:09:35 得分 0
谢谢,搞定了。按ckc兄弟的方法。Top




