在下还未成为大神。以下仅仅作为工作中遇到的现象的记录。
在使用了springbootjpadata作为后台的框架。查询则是使用repository继承JpaSpecificationExecutor。
然后写Specification的内部实现方法组装sql语句去查询。
1.在查字段有60个的表的时候,访问量是1万3左右每秒。
于是将表精简到10几个字段达到了1万4左右。
2.后来将数据库更改为分布式数据库。新增字段后使用了replace方法。
结果突然访问量降低到6000每秒。
于是,将更改字段的方法变为subString。同时,使用@Query,nativeQuery=true的方式查询数据库。
访问量上升到2万2每秒。
推断使用JpaSpecificationExecutor,内部封装了许多的东西导致在访问量大到了一定程度时,每次链接的时间在20秒以上。