说明:收录25万 73个行业的国家标准 支持批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210967890.8 (22)申请日 2022.08.12 (71)申请人 济南浪潮数据技 术有限公司 地址 250101 山东省济南市自由贸易试验 区济南片区浪潮路1036号 浪潮科技园 S05楼S311室 (72)发明人 郜忠科  (74)专利代理 机构 北京集佳知识产权代理有限 公司 11227 专利代理师 丁曼曼 (51)Int.Cl. G06F 16/2453(2019.01) G06F 16/242(2019.01) G06F 16/2455(2019.01) (54)发明名称 一种复杂查询优化方法、 装置及 介质 (57)摘要 本申请公开一种复杂查询优化方法、 装置及 其介质, 涉及数据查询技术领域, 用于进行大表 查询, 针对目前在进行大表查询优化时过度依赖 人力, 且优化效果受人为因素影响严重的问题, 提供一种复杂查询优化方法, 通过预先针对SQL 查询语句的where条件对数据库进行查询, 以获 取主表ID集合和查询总条数, 并生成相应的优化 标识配合上述信息存储在各个数据库的冗余表 中, 从而实现对于 该条SQL查询语句的优化。 优化 无需人工参与, 且相对于目前优化效果受运维人 员的技术水平影 响的优化方式, 本方法这种通过 将复杂查询简化成简单查询的方式, 优化效果有 保证, 也不受人为因素影响, 无需后续重复进行 调试和验证, 更好地适应于各种复杂的业务环 境。 权利要求书2页 说明书12页 附图4页 CN 115129749 A 2022.09.30 CN 115129749 A 1.一种复杂查询优化方法, 其特 征在于, 包括: 当接收到SQL查询语句时, 判断所述SQL查询语句中是否有优化标识; 其中, 所述优化标 识为预先根据所述SQL查询语句中的where条件对 数据库进行查询, 以确定对应的主表 ID集 合和查询总条数, 并在将所述主表ID集合和所述查询总条数保存到冗余表中时所配合生成 的, 所述冗余表中的所述优化标识与所述主表ID集合和所述查询总条数之 间存在一一对应 的关系; 若存在所述优化标识, 则根据 所述优化标识从所述冗余表中获得对应的所述主表ID集 合和所述 查询总条 数, 并根据所述主表ID对所述数据库进行查询, 以确定分页数据; 将所述查询总条 数和所述分页数据作为 查询结果返回。 2.根据权利要求1所述的复杂查询优化方法, 其特征在于, 所述主表ID集合和所述查询 总条数于所述冗余表中成对存储, 则所述根据所述优化标识从所述冗余表中获得对应的所 述主表ID集合和所述查询总条数, 并根据所述主表ID对所述数据库进行查询, 以确定分页 数据包括: 根据所述优化标识对所述冗余表进行查询, 以获取对应的所述主表ID集合和所述查询 总条数; 将所述SQ L查询语句进行分解, 得到查询分页SQ L语句; 将所述查询分页SQ L语句中的where 条件和分页条件替换成所述主表ID集 合; 通过所述查询分页SQ L语句对数据库进行查询, 以得到所述分页数据。 3.根据权利要求1所述的复杂查询优化方法, 其特征在于, 所述主表ID集合和所述查询 总条数于所述冗余表中存储位置不同, 则所述根据所述优化标识从所述冗余表中获得对应 的所述主表ID集合和所述查询总条数, 并根据所述主表ID对所述数据库进行查询, 以确定 分页数据包括: 根据所述优化标识对所述冗余表进行查询, 以获取对应的所述主表ID集 合; 将所述SQ L查询语句进行分解, 得到查询总条 数SQL语句和查询分页SQ L语句; 将通过所述优化标识查询冗余表中存储的所述查询总条数的语句作为新的所述查询 总条数SQL语句, 并将所述查询分页SQL语句中的where条件和分页条件替换成所述主表ID 集合; 分别通过所述查询总条数SQL语句和所述查询分页SQL语句, 并行对不同数据库进行查 询, 以获得 所述查询总条 数和所述分页数据。 4.根据权利要求1所述的复杂查询优化方法, 其特 征在于, 还 包括: 若不存在所述优化标识, 则将所述SQL查询语句进行分解, 得到查询总条数SQL语句和 查询分页SQ L语句; 分别通过所述查询总条数SQL语句和所述查询分页SQL语句, 并行对不同数据库进行查 询, 以获得 所述查询总条 数和所述分页数据。 5.根据权利要求3或4所述的复杂查询优化方法, 其特征在于, 用于并行执行不同查询 的两个数据库为按预设规则排序生成的数据库 列表中的前两个数据库。 6.根据权利要求5所述的复杂查询优化方法, 其特 征在于, 所述数据库 列表为: 根据数据库预先配置的权重和数据库链接数量的排名, 确定每一数据库的优先级值; 其中, 所述数据库链接数量的排名为由大到小进行排序; 所述优先级值与所述预先配置的权 利 要 求 书 1/2 页 2 CN 115129749 A 2权重、 所述数据库链接数量的排名正相关; 根据各所述优先级值由大到小对各 数据库进行排序, 以确定所述数据库 列表。 7.根据权利要求1所述的复杂查询优化方法, 其特征在于, 在将所述查询总条数和所述 分页数据作为 查询结果返回之后, 还 包括: 记录本次查询过程的所述优化标识、 所述SQ L查询语句、 查询参数和查询耗时。 8.根据权利要求7 所述的复杂查询优化方法, 其特 征在于, 还 包括: 根据预设的优化周期, 定期查询所述优化周期内所有查询过程的所述SQL查询语句和 所述查询耗时; 确定其中所述查询耗 时超过预设阈值的所述查询过程, 并调用执行计划分析函数对所 述查询过程进行优化分析, 得到优化 点; 将所述优化 点发送至运维平台。 9.根据权利要求8所述的复杂查询优化方法, 其特征在于, 在所述得到优化点之后, 还 包括: 根据所述 查询耗时和所述优化 点, 确定对应的所述SQ L查询语句的优化优先级。 10.一种复杂查询优化装置, 其特 征在于, 包括: 标识判断模块, 用于当接收到SQL查询语句时, 判断所述SQL查询语句中是否有优化标 识; 其中, 所述优化标识 为预先根据所述SQL查询语句中的where条件对 数据库进行查询, 以 确定对应的主表ID集合和查询总条数, 并在将所述主表 ID集合和所述查询总条数保存到冗 余表中时所配合生成的, 所述冗余表中的所述优化标识与所述主表 ID集合和所述查询总条 数之间存在一 一对应的关系; 数据查询模块, 用于若存在所述优化标识, 则根据所述优化标识从所述冗余表中获得 对应的所述主表ID集合和所述查询总条数, 并根据所述主表ID对所述数据库进行查询, 以 确定分页数据; 结果返回模块, 用于将所述 查询总条 数和所述分页数据作为 查询结果返回。 11.一种复杂查询优化装置, 其特 征在于, 包括: 存储器, 用于存 储计算机程序; 处理器, 用于执行所述计算机程序时实现如权利要求1至9任意一项所述的复杂查询优 化方法的步骤。 12.一种计算机可读存储介质, 其特征在于, 所述计算机可读存储介质上存储有计算机 程序, 所述计算机程序被处理器执行时实现如权利要求 1至9任意一项 所述的复杂查询优化 方法的步骤。权 利 要 求 书 2/2 页 3 CN 115129749 A 3

.PDF文档 专利 一种复杂查询优化方法、装置及介质

文档预览
中文文档 19 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共19页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种复杂查询优化方法、装置及介质 第 1 页 专利 一种复杂查询优化方法、装置及介质 第 2 页 专利 一种复杂查询优化方法、装置及介质 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 17:14:59上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。