数据量800万条。
字段数量为40个,
要对其中30个字段进行求平均值(各对应字段为0的不算,例如1,2,0,3 的平均值为:(1+2+3)/3)
update dm_phs set
------------------------------
TREND_MONTHLY_AMT =
(select avg(MONTHLY_AMT) from DM_VT_PHS_DEV
where (DM_VT_PHS_DEV.dev_num = dm_phs.dev_num)
and MONTHLY_AMT>0
)
)这句话执行约要6小时。
希望一个select将所有的平均值都求出来,而不是每个字段分开来算,
字段数量为40个,
要对其中30个字段进行求平均值(各对应字段为0的不算,例如1,2,0,3 的平均值为:(1+2+3)/3)
update dm_phs set
------------------------------
TREND_MONTHLY_AMT =
(select avg(MONTHLY_AMT) from DM_VT_PHS_DEV
where (DM_VT_PHS_DEV.dev_num = dm_phs.dev_num)
and MONTHLY_AMT>0
)
)这句话执行约要6小时。
希望一个select将所有的平均值都求出来,而不是每个字段分开来算,
解决方案 »
- 日志问题 求助
- ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
- J2EE提示ORA-00933: SQL 命令未正确结束 请大家都来看看代码很简单...
- 如何用SQL语句(oracle数据库)将/2/5/10/156/89/57/这种字符串换成'2','5','10','156','89','57'这种样式
- 关于序列的问题
- 求Oracle Loader导入数据的使用,急!请过来人指点一下,谢谢!
- 不等于用什么?
- 导入导出问题?
- 表的设计问题,这样的表该如何设计?
- 请教高手,怎么得到sql语句的查询结果
- 请教SQL语句优化
- sybase的建表语句怎么样建 oracle表?
我建议你使用procedure一条一条的更新,这样速度会很快的