PB调用SQL Server存储过程,当存储过程需要处理大量的数据时,前台界面一直处于等待状态,而且,界面也不能刷新,不接受任何输入,怎么处

chenxiaocang 2003-11-11 04:45:21
我想用线程解决,线程能解决吗?还有其它更好的办法吗?
...全文
124 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Bumpkin 2003-11-12
  • 打赏
  • 举报
回复
楼上诸位说得有道理,如果还不行,试下
把事务的处理放在用户自定义事件"ue_yoursub"里,然后用PostEvent("ue_yoursub")调用,而那句yield()可以放在ue_yoursub里的第一句嘛.

yield()
setpointer(HourGlass!)
....//procession
setpointer(Arrow!)

用PostEvent的好处是它向消息队列发送消息,等当前脚本执行完毕再触发消息队列等待状态事件的脚本.
jimly 2003-11-11
  • 打赏
  • 举报
回复
用多线程应该可以的。
主程序把耗时的操作叫新的线程B去操作,B在执行结束发个消息给主程序,
或是修改一个全局变量来达到通知主程序的目的。
mittee 2003-11-11
  • 打赏
  • 举报
回复
可以设置数据窗口检索的异步方式,我忘了是
sqlca 的那个属性
qqjj7758 2003-11-11
  • 打赏
  • 举报
回复
搂主的问题提得好
tommyhuanglei 2003-11-11
  • 打赏
  • 举报
回复
恩,尽量把事务分散,否则用户会以为死机了呢!
顺便设置一个状态条或者状态窗口吧!
地狱余烬 2003-11-11
  • 打赏
  • 举报
回复
yield()效果不佳,我试过的
还是把存储过程中的事务尽可能小,当事物一结束就能闲一会
chenxiaocang 2003-11-11
  • 打赏
  • 举报
回复
提出yield()方法的,不了解实际情况是怎么样的
就一个存储过程:
declare后;
execute 存储过程的逻辑名称,然后程序就停在了这一行,不再往下执行
你在哪里写yield()啊?
写了也没有用的
Bumpkin 2003-11-11
  • 打赏
  • 举报
回复
在脚本里加入一句: yield()
取得CPU的控制权,使页面可以暂时显示,不过还得等.
jdsnhan 2003-11-11
  • 打赏
  • 举报
回复
用yield()控制,让其能接受其他操作试试。
鸡翅多 2003-11-11
  • 打赏
  • 举报
回复
这个东西,你是没办法避免的,尽量把你的大的存储过程分成小的
版本:presto-server-0.214.tar软件版本 presto-cli-0.214-executableCentOS71、presto的起因 hadoop ---hdfs----MR(java)-----hivehive底层原理用MR,速度比较慢,公司hadoop集群主要集中于晚上到凌晨,平日工作间负载不是很高。但在工作间内,公司业务人员有实查询的需求,现在主要借助于hive提供业务人员的查询。hive是基于MR类的SQL查询工具,他会输入的查询SQL解析为MapReduce,能极大的降低使用大数据门槛,让一般的业务人员可以直接准对大数据进行查询,但是有一个利弊,它的查询基于MR,会让人等待比较着急,等待间可能是几个小或者一天。 spark基于内存提高改良的hive,sql,现在factbook在hive上面开发一套利器,准对hive可以通过sql语句快速查询,presto。2、Facebook为何开发Presto  Facebook的2011的数据仓库存储在少量大型hadoopfs集群,Hive是FaceBook在几年前专门为Hadoop打造的一款数据仓库工具,在以前,facebook的科学家和分析师一直靠hive进行数据分析.但hive使用MR作为底层计算框架,是专为批设计的,但是随着数据的不断增多,使用hive进行一个简单的数据查询可能要花费分钟或者几个小,显然不能满足查询需求,FaceBooke也调研了其他比hive更快的工具,但是他们需要在功能有限的条件下做简单操作,以至于无法操作Facebook庞大的数据要求。2012年开始研究自己的框架--presto,每日可以超过1pb查询,而且速度比较快,faceBook声称Presto的性能比hive要好上10倍或者100倍,presto和hive都是facebook开发的 Presto是一个开源的分布式SQL查询引擎,适用于交互式查询,数据量支持GB到PB字节。Presto的设计和编写完全是为了解决Facebook这样规模的商业数据仓库交互式分析和速度的问题Presto可以做什么 Presto支持在线数据查询,包括Hive kafka Cassandra关系数据库以及专门数据存储,一条Presto查询可以将多个数据源进行合并,可以跨越整个组织进行分析。Presto以分析师的需求作为目标,他们期望相应速度小于1秒到几分钟,Presto要么在使用速度的快的昂贵的商业方案,提高内存,要么是消耗大量的硬件进行快速查询。(128G 64G)本套课程教给如何在企业环境中使用Presto技术。

1,075

社区成员

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

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