sqltoy-orm-4.17.13 发版,增加分页并行特性,提供最极致的分页!

栏目: 软件资讯 · 发布时间: 3年前

内容简介:开源地址: github: https://github.com/sagframe/sagacity-sqltoy gitee: https://gitee.com/sagacity/sagacity-sqltoy idea 插件(可直接在idea中检索安装): https://github.com/threefish/sqltoy-idea-plugins...

开源地址:

更新内容

1、分页支持总记录数和单页数据并行查询,提升效率

xml配置模式:parallel="true"

<sql id="qstart_fastPage">
<!-- 分页优化器,通过缓存实现查询条件一致的情况下在一定时间周期内缓存总记录数量,从而无需每次查询总记录数量 -->
<!-- alive-max:最大存放多少个不同查询条件的总记录量; alive-seconds:查询条件记录量存活时长(比如120秒,超过阀值则重新查询) -->
<!-- parallel: 是否并行count和记录查询开关; parallel-maxwait-seconds:并行查询最大等待时长(可以不填) -->
	<page-optimize parallel="true" alive-max="100" alive-seconds="120" />
	<value>
	<![CDATA[
	select t1.*,t2.ORGAN_NAME 
	-- @fast() 实现先分页取10条(具体数量由pageSize确定),然后再进行管理
	from @fast(select t.*
	         from sqltoy_staff_info t
             where t.STATUS=1 
  	             #[and t.STAFF_NAME like :staffName] 
		           order by t.ENTRY_DATE desc
            ) t1 
	left join sqltoy_organ_info t2 on  t1.organ_id=t2.ORGAN_ID
	]]>
	</value>
	<!-- 这里为极特殊情况下提供了自定义count-sql来实现极致性能优化 -->
	<!-- <count-sql></count-sql> -->
</sql>
// java直接设置:new PageOptimize().parallel(true)
PaginationModel<StaffInfoVO> result = sqlToyLazyDao
	.findPageByQuery(pageModel,
	new QueryExecutor("qstart_fastPage").values(staffVO)
       .pageOptimize(new PageOptimize().parallel(true)).resultType(StaffInfoVO.class))
				.getPageResult();
  • 分页优化过程介绍

https://my.oschina.net/u/4234377/blog/3233919

  • 简要介绍sqltoy的几个特点(jpa式的对象crud大家早习以为常不作介绍)

sqltoy 提供了最简洁的动态 sql 编写

sqltoy-orm-4.17.13 发版,增加分页并行特性,提供最极致的分页!

我们对比一下mybatis的实现(从可阅读、可维护等视角看)

sqltoy-orm-4.17.13 发版,增加分页并行特性,提供最极致的分页!

  • 缓存翻译,利用缓存减少关联查询,简化sql同时大幅提升效率

sqltoy-orm-4.17.13 发版,增加分页并行特性,提供最极致的分页!

  • 极致分页优化

sqltoy-orm-4.17.13 发版,增加分页并行特性,提供最极致的分页!

  • 并行查询
// 使用并行查询同时执行2个sql,条件参数是2个查询的合集
String[] paramNames = new String[] { "userId", "defaultRoles", "deployId", "authObjType" };
Object[] paramValues = new Object[] { userId, defaultRoles, DEPLOY_ID,GROUP };

List<QueryResult<TreeModel>> list = super.parallQuery(
		Arrays.asList(ParallQuery.create().sql("webframe_searchAllModuleMenus").resultType(TreeModel.class),
				ParallQuery.create().sql("webframe_searchAllUserReports").resultType(TreeModel.class)),
		paramNames, paramValues);
  • 数据旋转

sqltoy-orm-4.17.13 发版,增加分页并行特性,提供最极致的分页!

  • 无限极分组统计(含汇总求平均),算法配置简单又跨数据库!sqltoy-orm-4.17.13 发版,增加分页并行特性,提供最极致的分页!
  • 同比环比

sqltoy-orm-4.17.13 发版,增加分页并行特性,提供最极致的分页!


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据结构与算法分析

数据结构与算法分析

Frank.M.Carrano / 金名 / 清华大学出版社 / 2007-11 / 98.00元

“数据结构”是计算机专业的基础与核心课程之一,Java是现今一种热门的语言。本书在编写过程中特别考虑到了面向对象程序设计(OOP)的思想与Java语言的特性。它不是从基于另一种程序设计语言的数据结构教材简单地“改编”而来的,因此在数据结构的实现上更加“地道”地运用了Java语言,并且自始至终强调以面向对象的方式来思考、分析和解决问题。 本书是为数据结构入门课程(通常课号是CS-2)而编写的教......一起来看看 《数据结构与算法分析》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

html转js在线工具
html转js在线工具

html转js在线工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试