免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1739 | 回复: 9
打印 上一主题 下一主题

400中如何进行大量数据删除呢,请指教 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-04-10 17:14 |只看该作者 |倒序浏览
前台用delphi,后台用400实现的应用系统
现在需要实现如下功能:
前台选择需要进行数据删除的表,及这些数据的时间范围
后台进行相应的判断删除操作
数据库中的表大概100多个,每个表都可能有几万条记录
我们的解决方法有:
1,写sql语句(保存成txt文本形式),然后用cl调用
   但由于表名不能够选择,所以类似的sql语句写了100多条。
   完成后进行测试时,发现只删除3个表,每个表一条记录就需要1分钟左右
   效率太低了,于是又采取了第二种方法
2,给每张表都建立一个关键字为日期的逻辑文件,然后在rpgle里写了100多条
   相似的判断+SETLL/READE/DELETE语句。这样效率比1高,但是费时太多
   而且个人感觉太繁琐
这是项目组另外一位成员做的程序,总共用了4天时间!(我们都是rpgle新手)
项目以及块结束了,可我一直有疑问
1,在前台实现不好吗,那样表名可以用变量,一条sql语句就可以了,但设计人
   员认为前台做起来太慢
2,听说rpgle里可以直接写sql语句,但我们部门都没人知道怎么写:(
3,如果采用方法1,那么所要删除数据的表的名字可以选择吗?我查了一些
   资料,没有找到这样的信息
4,大家有没有遇到过这样的情况呢,是如何解决的呢?
问题可能很幼稚,期待您的指教!谢谢   
qweqwe1 该用户已被删除
2 [报告]
发表于 2004-04-10 17:30 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
3 [报告]
发表于 2004-04-11 15:12 |只看该作者

400中如何进行大量数据删除呢,请指教

在RPG程序里面用动态SQL语句实现应该比较快的,而且可以满足需求。
关于动态SQL 怎么用,IBM信息中心里面有好多资料的。。。

论坛徽章:
0
4 [报告]
发表于 2004-04-12 10:26 |只看该作者

400中如何进行大量数据删除呢,请指教

不如写1个RPG,编译100次运行也100,估计几个小时就OK.

这种重复劳动,找个文员帮你做好了。^_^

论坛徽章:
0
5 [报告]
发表于 2004-04-12 14:41 |只看该作者

400中如何进行大量数据删除呢,请指教

在RPGLE中动态生成SQL语句就行了,具体请看DB2/400那本书.
andrewleading_h 该用户已被删除
6 [报告]
发表于 2004-04-12 17:53 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
7 [报告]
发表于 2004-04-12 17:57 |只看该作者

400中如何进行大量数据删除呢,请指教

多谢各位了   
在rpgle里写sql语句在qweqwe1的指导下会了一点点
使用动态sql语句还不会,慢慢查资料一定能学会的
呵呵,现在就是用的那种重复劳动方法
效率还行,项目leader现在也不让改
担心效率会减慢,呵呵,大家也懒得改

还有问题要问
rpg直接定位文件,比如说日期为关键字的文件,用SETGT  和用SQL语句选择select * from table1 where 日期<=某值
是不是rpg更快一些呢?sql语句要对每条记录的字段进行比较,SETGT定位也
要比较吗?   

论坛徽章:
0
8 [报告]
发表于 2004-04-12 18:20 |只看该作者

400中如何进行大量数据删除呢,请指教

[quote]原帖由 "andrewleading_he"]了解知道,sql執行效能比直接用ilerpg要慢的多。在對數據庫的操作中,這兩個cmd SETGT SETLL 結合key的管理,操作數據庫比直接用sql操作快了很多[/quote 发表:


还是不明白SETGT/SETLL怎么定位文件
RPG真是博大精深,觉得自己知道的最多九牛一毛

论坛徽章:
0
9 [报告]
发表于 2004-04-13 12:05 |只看该作者

400中如何进行大量数据删除呢,请指教

SETLL和SETGT都是需要用KEY来做的,400当然都做了优化了,所以会比SQL快

论坛徽章:
0
10 [报告]
发表于 2004-04-13 13:34 |只看该作者

400中如何进行大量数据删除呢,请指教

[quote]原帖由 "andrewleading_he"]了解知道,sql執行效能比直接用ilerpg要慢的多。在對數據庫的操作中,這兩個cmd SETGT SETLL 結合key的管理,操作數據庫比直接用sql操作快了很多[/quote 发表:

用嵌入SQL的方法的确是比RPG慢的多. 记得几年前嵌入SQL是不鼓励用的,因为太耗资源. 不过今年400速度提升了, 嵌入SQL的速度也还可以, 但和RPG比还是差很多的.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP