[发明专利]一种多条件分页查询优化方法、系统、终端及存储介质在审
申请号: | 202011024842.2 | 申请日: | 2020-09-25 |
公开(公告)号: | CN112231342A | 公开(公告)日: | 2021-01-15 |
发明(设计)人: | 李普新 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/2453 |
代理公司: | 济南舜源专利事务所有限公司 37205 | 代理人: | 孙玉营 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 条件 分页 查询 优化 方法 系统 终端 存储 介质 | ||
本发明提供一种多条件分页查询优化方法、系统、终端及存储介质,包括:根据查询条件获取相关表并统计各相关表的相关数据数量;采集各相关表的排序和前端每页数据数量;根据前端的目标查询页数和所述每页数据数量计算目标数据条数;根据所述目标数据条数、每页数据数量、各相关表的相关数据数量和排序确认所述目标查询页数所属的相关表。本发明避免全表扫描,且无需关联生成临时表,提高了数据查询效率。
技术领域
本发明涉及数据查询技术领域,具体涉及一种多条件分页查询优化方法、系统、终端及存储介质。
背景技术
随着时间的发展,软件的成熟,在目前的物理基础设施管理中,数据量也是越来越大。而软件中会涉及到大量的查询,其中多条件的多表分页查询,是软件管理数据最重要的展示方式。而常用的查询方式在多表查询时会浪费大量的时间,让查询缓慢。用到的关联查询关键字包括:LEFT JOIN;RIGHT JOIN;INNER JOIN;UNION。
MYSQL的多表关联分页查询是如下的步骤:扫描各个分表中符合条件的数据。把上一步中符合的数据通过关联组成一张临时虚表。根据limit的页面初始值和页面大小返回具体数据。
在查询过程中,查询速度会随着表数据量和分表个数呈现指数型增长,这样严重影响了用户体验。
发明内容
针对现有技术的上述不足,本发明提供一种多条件分页查询优化方法、系统、终端及存储介质,以解决上述技术问题。
第一方面,本发明提供一种多条件分页查询优化方法,包括:
根据查询条件获取相关表并统计各相关表的相关数据数量;
采集各相关表的排序和前端每页数据数量;
根据前端的目标查询页数和所述每页数据数量计算目标数据条数;
根据所述目标数据条数、每页数据数量、各相关表的相关数据数量和排序确认所述目标查询页数所属的相关表。
进一步的,所述方法还包括:
计算各相关表的相关数据数据之和作为总数据数量;
将所述总数据数量与所述每页数据数量之商作为总页数;
判断所述目标查询页数是否在所述总页数范围内:
若否,则输出错误提示。
进一步的,所述根据前端的目标查询页数和所述每页数据数量计算目标数据条数,包括:
计算所述目标查询页数减1的差值;
将所述差值与所述每页数据数量的积作为目标数据条数输出。
进一步的,所述根据目标数据条数、每页数据数量、各相关表的相关数据数量和排序确认所述目标查询页数所属的相关表,包括:
按照所述相关表排序对各相关表的相关数据数量进行累加,并标记每个累加值对应的相关表;
筛选出小于所述目标数据条数的所有累加值,并从中选取最大值作为起始累加值,将所述起始累加值的后一个累加值所对应的相关表作为起始表;
筛选出大于目标数据条数与每页数据数量之和的所有累加值,并从中选取最小值作为结束累加值,将所述结束累加值所对应的相关表作为结束表;
将起始表、结束表和排在起始表与结束表之间的所有相关表输出为所述目标查询页数所属的相关表。
第二方面,本发明提供一种多条件分页查询优化系统,包括:
条件查询单元,配置用于根据查询条件获取相关表并统计各相关表的相关数据数量;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011024842.2/2.html,转载请声明来源钻瓜专利网。