我有一个数据库表,数据比较大,目前达到4000多万条数据,以后还要增加。
目前我要取出 每列的最大值(都是数据类型的),select max(a),max(b),max(d) from test group by tanso_id,tanso_id 外键, 就是取出tanso_id 对应的每个列的最大值,但是这样速度很慢,有什么好的办法,能提供速度。
目前我要取出 每列的最大值(都是数据类型的),select max(a),max(b),max(d) from test group by tanso_id,tanso_id 外键, 就是取出tanso_id 对应的每个列的最大值,但是这样速度很慢,有什么好的办法,能提供速度。
select max(a)over(partition by tanso_id order by a),
max(b)over(partition by tanso_id order by b),
max(d)over(partition by tanso_id order by d)
from test ;
服务器支持并行的话还好取
加并行度
select/*+parallel(t,10)*/ max(a),max(b),max(d) from test t group by tanso_id;