表check_serv_group_price字段如下,约有10万条记录
SERV_ID NUMBER(12)
PRICING_PLAN_ID NUMBER(9)
SERV_GROUP_ID NUMBER(12)
MIN_SERV_ID NUMBER(12)表里多个serv_id对应同一个serv_group_id,更新字段min_serv_id为同一个serv_group_id中最小的serv_id.
update check_serv_group_price a
set min_serv_id = (select min(serv_id)
from check_serv_group_price
where a.serv_group_id = serv_group_id);
这个耗时57分钟,有什么具体办法(比如加索引什么的)可以提高这个语句的速度,或者用什么别的语句提高速度?
SERV_ID NUMBER(12)
PRICING_PLAN_ID NUMBER(9)
SERV_GROUP_ID NUMBER(12)
MIN_SERV_ID NUMBER(12)表里多个serv_id对应同一个serv_group_id,更新字段min_serv_id为同一个serv_group_id中最小的serv_id.
update check_serv_group_price a
set min_serv_id = (select min(serv_id)
from check_serv_group_price
where a.serv_group_id = serv_group_id);
这个耗时57分钟,有什么具体办法(比如加索引什么的)可以提高这个语句的速度,或者用什么别的语句提高速度?
解决方案 »
- Oracle安装问题
- 表結構設計的一些問題,大家發表下
- 急求ORACLE恢复的问题
- ExtJs 中的DateField组件 不能在ie下使用 谁知道应该怎么做
- oracle分区表本地索引所在表空间 与 分区表的表空间能否不一致?
- 大家来帮我看看我测试用ASP调用ORACLE存储过程时出的错误,有什么解决办法吗??
- VS添加oracle数据源
- 存储过程和游标的问题
- 我买了Oralce9i的三张光盘,但是没有做报表的。请问orcle 9i report 哪里有下载,Oracle 自带的报表开发工具用什么比较好?
- 怎么样用sql查出结果集中的一部分???
- 一个数据库查询的问题
- 老难的了,我是搞不定,你进来看看?
create table temp as
select serv_group_id,min(serv_id) m_servid
from check_serv_group_price
group by serv_group_id;然后建索引
然后更新
update check_serv_group_price a
set min_serv_id=(select b.m_servid from temp b where a.serv_group_id=b.serv_group_id)
ON check_serv_group_price (serv_group_id);