300分求救,一个比较有挑战性的问题!!!!

pinghero 2005-01-19 05:31:04
各位大哥好,偶是新手,现需要优化一个存储过程。基本需求如下:
1. 有一个每天上报数据的表 T1,上报的数据直接先Insert到T1,每天的数据量大概为1-2万,该T1表总数据量大概有快100万。
现在需要对T1表中每天上报数据进行相关状态的update。
2. update前要先对当前上传的数据进行验证,需要和另外一个表T2联合判断,(T2数据巨大,大约有几百万条),如判断字段A(主键),同时需要判断是否已在当前上报时间之前,也就是T1历史记录中存在,如果存在,就要分别进行12种状态判断,并分别对应update。
-- 这部分小弟觉得似乎只能用游标来做了,大家有什么更好的建议吗?!
3. 对于没有重复的那部分上报数据,需要批量更新更新,也是和其他表需要关联

------------------------------------------------------------
以前的那个存储过程对当天上报的所有数据用游标逐条处理,执行时间居慢,一般3。4小时以上,现在我想把它拆成两部分,因为当天上报数据中重复的比例比较少,这部分用游标来处理。 请问各位大哥还有什么好的方法吗??!希望能举例给小弟!!!万分感谢, 准备狂发分!!!谢谢
...全文
206 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyfdanny 2005-01-20
  • 打赏
  • 举报
回复
晕倒,你是送分的还是解决问题的?把主要字段和表逻辑说清楚就可以了。文字太多谁也懒得猜你的要求。
Softlee81307 2005-01-20
  • 打赏
  • 举报
回复
接分
Softlee81307 2005-01-20
  • 打赏
  • 举报
回复
恭喜呀,
pinghero 2005-01-20
  • 打赏
  • 举报
回复
谢谢各位的热情相助,经过努力,现在我已经从原来执行时间3小时优化到了3分钟,非常感谢!!!
alipaymate 2005-01-20
  • 打赏
  • 举报
回复
同意 Qihua_wu(小吴)
alipaymate 2005-01-20
  • 打赏
  • 举报
回复
关注
Qihua_wu 2005-01-20
  • 打赏
  • 举报
回复
这种情况已经涉汲到了设计问题,不是单纯的技术问题,你把你的设计环境拿出来,也许可以给你一个比较合适的解决方案
lemon_lyk 2005-01-20
  • 打赏
  • 举报
回复
up
lemon_lyk 2005-01-20
  • 打赏
  • 举报
回复
up
wangdehao 2005-01-20
  • 打赏
  • 举报
回复
这么大的数据量,竟然用游标,厉害,你的代码确实没法看,没注释,太长,象楼上的说的那样,整理一下吧
daijingjie2002 2005-01-19
  • 打赏
  • 举报
回复
你的各个表之间的关系?每个表的作用?
pinghero 2005-01-19
  • 打赏
  • 举报
回复
这个是原来我贴得代码,有点长,谢谢。

http://community.csdn.net/Expert/topic/3731/3731260.xml?temp=.2661554
pbsql 2005-01-19
  • 打赏
  • 举报
回复
用b表的数据更新a表,用不着游标,两表联合更新如下:
update a set col1=b.col2 from b where a.id=b.id
yangys 2005-01-19
  • 打赏
  • 举报
回复
快点写吧,让咱也学习学习。
camel_yang 2005-01-19
  • 打赏
  • 举报
回复
分两部分分别处理吧,用关联查询统一更新,你的表结构需要再详细些,不然不知道怎么写?
daijingjie2002 2005-01-19
  • 打赏
  • 举报
回复
一般不要用游表,没有什么效率
daijingjie2002 2005-01-19
  • 打赏
  • 举报
回复
这也没有什么挑战,把表结构列出来,说明逻辑关系,说出要的结果,数据列出一点

27,581

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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