Oracle中一个表数据大概有一亿条,现在需要进行数据按照三个字段进行分组查询数据统计,如何查询较快
2个回答
展开全部
select sum(count)total1,字段1 from(select count(*) count,字段1,字段2,字段3 from table group by 字段1,字段2,字段3 order by count)t group by t.字段1
select sum(count)total2,字段2 from(select count(*) count,字段1,字段2,字段3 from table group by 字段1,字段2,字段3 order by count)t group by t.字段2
select sum(count)total3,字段3 from(select count(*) count,字段1,字段2,字段3 from table group by 字段1,字段2,字段3 order by count)t group by t.字段3
select sum(count)total2,字段2 from(select count(*) count,字段1,字段2,字段3 from table group by 字段1,字段2,字段3 order by count)t group by t.字段2
select sum(count)total3,字段3 from(select count(*) count,字段1,字段2,字段3 from table group by 字段1,字段2,字段3 order by count)t group by t.字段3
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果有索引的话,尽量使用索引。
数据量太多,另外查询结果集有多大?
数据量太多,另外查询结果集有多大?
追问
统计完后数据大概100万…但是因为查询条件复杂…不能预先存储…添加索引我看了他的解释计划~执行了索引但是仍然很慢
追答
数据量太大,慢是肯定的。可以考虑分区之类的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询