8.2 快速分页
开发者无需知道各种分页机制,sqltoy自动提供智能分页机制,同时提供独特的快速分页机制。看原理很简单,但巧妙的集成到框架中还是很少见的!
Sqltoy的分页不是简单的包裹sql,根据sql情况智能剔除了sql中的order by,同时select count(1) 模式是根据sql逻辑决定是直接切除掉原sql的from 之前的语句,替换成select count(1) from 避免不必要的sql函数运算。
![](https://img.kancloud.cn/5f/f1/5ff1392c7c03dadf88e11fcf02afcb33_651x290.png)
针对count sql的逻辑代码片段:
- 剔除不必要的order by
- 剔除不必要的select 和 from 之间的函数运算以及无关的信息提取
- 充分辨别union和group类型的查询
![](https://img.kancloud.cn/ae/e4/aee4c6c83cad521e5040f0ed504cd364_1034x1066.png)
- 自定义count sql
Sqltoy强调的是尽可能提供最优的解决方案,同时也提供特殊情况的处理,因此针对分页总记录数查询提供了一个口子,让开发者提供最优化的count语句。
![](https://img.kancloud.cn/52/7d/527d4a6e95d567eb50d846c4fbedea85_932x388.png)
8.4 分页优化
大家分页查询大多要2次查询吧(套路就是这样),但sqltoy可以让分页查询变为1.35次
![](https://img.kancloud.cn/d5/d6/d5d611d7bc33ec33b01a6ec9d75a5811_878x254.png)
- 1.简介
- 开发历程
- 技术架构
- 问答了解
- 版本历史
- update-5.1.4、4.18.43
- update-5.1.2
- 早期历史
- 5.1.15.rc1
- 2.快速使用
- 示例与环境
- quickvo工具使用
- 用法说明
- 关键注意事项
- 严格VO(DTO)和POJO(entity)分层
- 3.教程
- spring项目搭建
- Toy-ORM 配置
- 详细配置参数
- 缓存功能
- 缓存配置、缓存扩展
- 扩展缓存框架配置
- 缓存翻译
- 其他缓存应用场景
- 公共功能
- 表(对象)关联
- 公共字段赋值
- 链式操作
- DTO与POJO互转
- 对象操作
- save + update
- delete + trunk
- load加载数据
- 唯一验证
- 树形数据
- sharding分库分表
- SQL操作
- sql文件规则
- filters说明
- 缓存翻译
- 分库分表
- 汇总、环比
- 行列转换
- 数据脱敏
- 格式化-数字日期
- sqlToy的sql查询基本规则
- Sql查询功能
- load操作
- get操作
- find操作
- 分页查询
- 并行查询
- execute操作
- executeSql
- executeStore
- 数据库特性
- 主键策略
- JSON等类型扩展支持
- 跨库说明--异种库兼容
- 数据库保留字处理
- 多源-多库-异库
- 多数据源
- Mongodb支持
- ElasticSearch支持
- 高级扩展
- 补充-if+fast+blank+value+loop
- 高级功能
- 完美sql
- 快速分页
- 缓存翻译
- 防止sql注入
- 字段加解密
- 扩展集成