sharding jdbc分库分表之后查询优化
背景
springboot项目,集成了shardingsphere,使用sharding jdbc进行分库分表。具体版本如下:
springboot:2.3.2.RELEASE
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>sharding-jdbc-spring-boot-starter</artifactId>
<version>4.1.1</version>
</dependency>
需求
统计人数,统计条件已实名、身份证前四位模糊查找
研发历程
1、单线程(sharding jdbc 内置查询机制)
思路: 根据身份证前四位,统计出不同区域(12个区划),然后依次获取每个区域的数量 查询sql如下:
`select count(1) as count_num from user_0 t where t.papersnumber LIKE '6203%' and t.isReal = '1'`
结论:查询会触发索引,总耗时:277677ms。
2、多线程(sharding jdbc 内置查询机制)
思路:根据身份证前四位,统计出不同区域&