对一个表数据进行分组查询,但是数据量太大了,当时是3000w条,跑着就报错了,数据库内部错误,也不是很懂。想请教下group by的时候是否数据量太多会报错,如果是它可以承受多大的数据量分组查询。
肯定会报错,数据量大就会请求超时
建议使用索引,给需要分组的字段加索引
你可以试试根据你当前数据库的配置情况,进行分组查询的时候,使用多线程的方式进行查询
例如:
select /*+ parallel(t,10) */ t.id from test t group by t.id;
但是在实际查询中具体能开多少的线程同时查询要根据你的数据库实际配置情况来定,并不是线程开的越多多好。
希望对你有帮助!