Java多线程查询百万数据的具体实现

一些连表查询查询速度过慢,spring boot 中如何使用多线程查询百万数据的具体实现,与线程池的设计

你这个问题问得很抽象,查询百万条数据,从功能上来讲单线程也能实现,你的前提条件是什么,数据表是啥,怎么设计的等等都要描述下

使用Executors创建线程池,然后执行Callable接口执行数据库查询任务,示例代码如下

    public static void main(String[] args) {
        ExecutorService es = Executors.newCachedThreadPool();
        es.submit(()->{
            // 执行数据库查询
        });
    }

如有帮助,请采纳,十分感谢!

1 分页查询 每次查询2000条数据
2 采用多线程序池处理分页查询出来的数据
3 百万数据处理并不是太复杂, 主要处理数据的时候采用多线程就好了

只知道要查一百万,前面有啥条件,后面有啥要求都不提;百万数据大不大,一次性出来内存装不装得下

多线程执行时是异步的,彼此之间不影响,所以数据查询后还要重新组装,反而麻烦,实际开发很少用多线程去查询的,最好的方法是将sql取出来,然后用explain执行计划执行下,分析下sql慢的原因,进而添加合适索引或者优化sql更有意义

1)首先要分页
2)要建立索引
3)说实话,百万数据还没必要用所谓高大上的多线程,特别是查询,多线程还是异步的,建议不要在计算上纠结,先解决业务功能!