Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
501 views
in Technique[技术] by (71.8m points)

mybatis-查询语句优化

clipboard.png
如图:图片的右下角能够看到总条数,但是不能单独获取到这多条数据中某一个字段的最大值,最小值和求和。因为业务需要,希望能够在分页插件中,不仅仅能计算总条数,也能计算这N条数据中的某个字段的最大值,最小值,求和。
目前在分页查询的时候可以看到有n条数据,但是不知道这些数据的金额总和(n条数据的金额总各),如果能看到是不是方便一点。
如图是没月金额总和的
产品链接

需求

做为一个商城后台的用户,如果能看到查询条件对应的金额总和那么就方便很多了,对信息掌握更加全面。

where:建议每个分页组件都加一个sum min max等功能,如果情况允许的话。

自己对mybatis分页插件SQL查询语句的优化
1.原语句

select?count(1)?from?(select?a?from?table?where?a==1)

2.新语句

select?count(1)?as?count,?min(a)?as?min,max(a)?as?max?sum(a)?as?sum?from?(select?a?from?table?where?a==1)

3.进阶语句

select?count(1)?as?count,?min(a1)?as?min1,max(a1)?as?max1?sum(a1)?as?sum1?from?(select?a?from?table?where?a==1)

当前使用的mybatis插件:

<groupId>com.github.pagehelper</groupId>  
       <artifactId>pagehelper</artifactId>  
       <version>4.1.6</version>  
</dependency>  

问题解决的要求:

  1. 提供一个demo完成在求总条数的时候同时够计算某个字段的最大值最小值,求和等操作
  2. 修改过后对性能的影响有多大(整体耗时不大于25%可以接受)
  3. 如果min和sum是否支持多个
  4. 支持多个的话是否会影响性能

希望能够给予回答


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
等待大神解答

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...