使用nhmicro使分库分表支持排序后的分页查询
2019独角兽企业重金招聘Python工程师标准>>>
常见的在创建数据时根据规则分库分表保存,查询时往往只支持按照id进行查询。
Nhmicro(开源地址为 https://github.com/jeffreyning/nh-micro )支持将分库分表中的数据进行分页查询,同时支持排序,支持连续性的向前向后翻页。
原理是根据不同的库分别进行(可带有排序)分页查询,Nhmicro将各个库返回结果合并后,内存中进行二次排序,再次分页后返回给客户端。
这样做可以将查询压力分散到多个读库中,且每个读库可以起不同线程并发查询,提高了查询速度,降低了热点。
分库分表合并查询接口:
/NhEsbServiceServlet?cmdName=Groovy&subName=MicroMergeQueryTemplate&groovySubName=getInfoList4Page
参数标识
参数名称
样例值
说明
originSql
原始查询sql
select * from <REP_VIEW_NAME> order by col1 desc
<REP_VIEW_NAME>执行时被替换为分表名称
memOrderStr
内存排序str
col1 desc
应该与原始sql中的一致
dbNameList
分库标识
default
配置的microDao实例标识,多个库用逗号分隔。
viewNameList
分表标识
test_merge_1,test_merge_2
每个库中可以有1个或多个分表,但要求每个库中的分表个数一致。
Test_merge_1中数据
Test_merge_2中的数据
合并查询后分页结果:
向后翻页
转载于:https://my.oschina.net/jeffreyning/blog/1548318
使用nhmicro使分库分表支持排序后的分页查询相关推荐
- 阿里面试题:分库分表无限扩容后的瓶颈以及解决方案
以下文章来源方志朋的博客,回复"666"获面试宝典 像我这样的菜鸟,总会有各种疑问,刚开始是对 JDK API 的疑问,对 NIO 的疑问,对 JVM 的疑问,当工作几年后,对服务 ...
- mysql 多维度分表_亿级订单数据分库分表设计方案(满足多维度查询:订单号、用户、商家、渠道)...
根据业务初步预估订单业务量,每天500万的数据.我们将订单数据划分为了2大类型:分别为热数据和冷数据. 热数据:1个月内的订单数据,查询实时性较高; 冷数据:归档订单数据,查询频率不高; 根据实际业务 ...
- MySQL数据库性能优化--数据分库分表
目录 前言 1.什么时候需要分库分表? 1.1.第一次改造 1.2.分库分表的必要性 1.3.第二次改造 2.分库分表应该怎么分? 3.垂直分库会带来哪些问题? 3.1.跨库的关联查询 3.2.分布式 ...
- MySQL分库分表和优化
第九阶段模块三 分库分表技术之MyCat 1.海量存储问题 1.1 背景描述 随着互联网的发展,数据的量级也是成指数的增长,从GB到TB到PB.对数据的各种操作也是愈加的困难,传统的关系性数据库已经无 ...
- 从原则、方案、策略及难点阐述分库分表
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq_34173549/article/details/79936693 一.分库分表原则 关系型数据 ...
- 关系型数据库分库分表中间件之选型
写在前面 本文主要介绍关系型数据库分库分表的中间件,主要包含中间件介绍.选项及其对比.虽然市面上很多分库分表中间件,但是大多数都是不友好或者社区活跃度不高的项目,当然还是有很多淘汰的中间件.目前,在实 ...
- 淘宝TDDL——Matrix层的分库分表配置与实现
http://gao-xianglong.iteye.com/blog/2019729/ 目录 一.互联网当下的数据库拆分过程 二.TDDL的架构原型 三.下载TDDL的Atom层和Group层源代码 ...
- 分库分表之淘宝TDDL的原理
分库分表之淘宝TDDL的原理 一.互联网当下的数据库拆分过程 二.TDDL的架构原型 三.下载TDDL的Atom层和Group层源代码 四.Diamond简介 五.Diamond的安装和使用 六.动态 ...
- MYSQL 之 分库分表
分库分表 关系型数据库本身⽐较容易成为系统瓶颈,单机存储容量.连接数.处理能⼒都有限.当单表的数据量 达到2000W或100G以后,由于查询维度较多,即使添加从库.优化索引,做很多操作时性能仍下降严 ...
最新文章
- How are you vs How are you doing
- VLFeat库中加extern “C“
- Tungsten Fabric SDN — Overviw
- DWR的使用以及DWR中工具JS文件的使用
- c#精彩编程200例百度云_邂逅百度云智学院:福州理工学院AIOT实训营火热开营!...
- echart移上去显示内容_echarts如何移动到柱状图上显示自己想显示的提示信息
- C# DataTable常用方法总结
- 关于折半查找的细节思考
- Spark:Spark 编程模型及快速入门
- 优麒麟桌面闪烁_优麒麟 19.10 正式发布—百尺竿头,更进一步
- python线程池ThreadPoolExecutor和as_completed的用法示例
- [256个管理学理论]003.鳄鱼法则(Alligator Principle)
- Redis(4)优惠券秒杀
- 免费打工仔:一个完善的ActiveX Web控件教程
- FPD-LINK网上搜集的相关资料链接(持续更新)
- 开源物联网终端设备操作系统
- itchat微信自动回复消息
- VC6中工具条的新特色 (转)
- 各类多媒体计算机硬件设备,多媒体教室主要有哪些硬件设备
- [Bom Checker] 物料验证软件
热门文章
- 毕业设计 - 题目:基于python的验证码识别 - 机器视觉 验证码识别
- 【VB6.0 数据库连接EXCEL查询合并单元格成功解决办法】
- linux磁盘分区划分
- 02 · 如何在C#程序开发中实现穿梭功能
- 前后台时间差-父页面获取iframe值-隐藏滚动条-属性选择
- (OSError: Unable to open file (unable to open file: name = ‘model_3.h5’, errno = 2, error message =
- odbcConnectExcel()只支持32位的操作系统
- tensorflow加载预训练好的模型图(.pb文件)
- 怎样使用“查找我的iPhone”查找丢失的AirPods
- 计算机视觉__基本图像操作(显示、读取、保存)