起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: liyegj

关于查看公告信息的问题

[复制链接]
 楼主| 发表于 2010-3-3 14:39:09 | 显示全部楼层
需要把那个monitorlog.sqb的文件发给你吗??
回复 支持 反对

使用道具 举报

发表于 2010-3-3 15:10:20 | 显示全部楼层
楼主,你把这个SQL语句在数据库上直接执行一下看看需要多久,
并告知一下目前使用的版本号是多少
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-3-3 15:12:14 | 显示全部楼层
就是138对应的sql语句吗?用的版本是3012
回复 支持 反对

使用道具 举报

发表于 2010-3-3 15:12:50 | 显示全部楼层
yes
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-3-3 15:16:51 | 显示全部楼层
直接在sql查询分析器里直接运行之需要3秒钟
回复 支持 反对

使用道具 举报

发表于 2010-3-3 15:53:57 | 显示全部楼层
68m的数据要取到客户端,你的plsql是在服务器上执行的吧。如果在服务器上执行的没有什么意义,还得找到sql执行的地方进行优化。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-3-3 16:07:50 | 显示全部楼层
那应该在哪里执行啊??
回复 支持 反对

使用道具 举报

发表于 2010-3-3 16:20:17 | 显示全部楼层
客户端的所在的查询分析器上,
那条sql查询出来有多少条数据?
68m的数据太大,所以现在主要是在程序中找到发送这条sql语句的地方,然后进行优化。
回复 支持 反对

使用道具 举报

发表于 2010-3-3 17:02:32 | 显示全部楼层
你试试这个,但只能让你打开快,但是查看所有公共还是会慢。因为你有一条数据的内容比较大。
业务模型\业务系统\产品OA\信息发布\基类\发布查看\发布查看
找到:
with BasicInfo.MasterDataSet do
       if not Active then Open;
替换成

lGuid := FuncBroker.Func.Parameters;
  if  lGuid='' then
  begin
     with BasicInfo.MasterDataSet do
       if not Active then Open;
  end
  else
  begin
     with BasicInfo.MasterDataSet do
     begin
          sqlfilter:='FID='''+LGuid+'''';
          sqlfiltered:=true;
          if not Active then Open;
     end;
  end;
我的完整代码:

代码.txt

6.33 KB, 下载次数: 142

回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-3-4 08:28:41 | 显示全部楼层
如果是从客户端的查询分析器中,执行sql语句,只需要0秒,怎么感觉有点奇怪啊?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-11 09:49 , Processed in 0.043014 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表