1.0应用背景
当需要查询大量数据的时候,从数据库读取到jvm内存然后计算,这个过程是非常慢的,很容易就超时,一般做法是分页处理,但是有时候又不允许分页,客服要求都展示出来。那么应该怎么解决呢?
1.1 数据库层面优化
对sql语句进行优化,比如查看是否走索引,比如创建临时表。。
1.2 增加缓存处理
将常用的基础数据,不是经常变动的数据,缓存到内存中,下次查询的时候就不用查询数据库。
1.3 多线程查询
将大量数据分割成n等份,然后通过分配多个线程同时查询并合并,这样大大节省了查询时间。