[发明专利]一种用于数据库遍历的方法与设备有效
申请号: | 201710050584.7 | 申请日: | 2017-01-23 |
公开(公告)号: | CN107193857B | 公开(公告)日: | 2021-01-01 |
发明(设计)人: | 刘良友;张远;赵建伟;彭立勋;田英鹤 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2455;G06F16/22 |
代理公司: | 上海百一领御专利代理事务所(普通合伙) 31243 | 代理人: | 陈贞健;邵栋 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 数据库 遍历 方法 设备 | ||
1.一种数据库遍历方法,包括:
获取数据库中待遍历的数据表所对应的目标索引;
基于所述目标索引对所述数据表中的各数据块执行块遍历操作,并在遍历所述数据表的过程中,根据所述数据表中当前数据块被块遍历后的SQL执行时间信息确定所述数据表中下一数据块的块尺寸信息;
其中,根据所述数据表中当前数据块被块遍历后的SQL执行时间信息确定所述数据表中下一数据块的块尺寸信息,包括:
若所述SQL执行时间信息不超过期望块时间,增加所述下一数据块的块尺寸信息;若所述SQL执行时间信息超过期望块时间时,减少所述下一数据块的块尺寸信息,所述期望块时间为遍历一数据块时期望的SQL执行时间,数据块的块尺寸信息与数据块对应的期望块时间呈正比。
2.根据权利要求1所述的方法,其中,该方法还包括:
对所述数据库中待遍历的其他数据表执行所述获取数据库中待遍历的数据表所对应的目标索引及基于所述目标索引对所述数据表中的各数据块执行块遍历操作,并在遍历所述数据表的过程中,根据所述数据表中当前数据块被块遍历后的SQL执行时间信息确定所述数据表中下一数据块的块尺寸信息。
3.根据权利要求1所述的方法,其中,所述获取数据库中待遍历的数据表所对应的目标索引包括:
若数据库中待遍历的数据表已存在所有字段非空的一个或多个唯一索引,则从所述一个或多个唯一索引中择一作为所述数据表对应的目标索引;否则,为所述数据表建立唯一索引以作为所述目标索引。
4.根据权利要求1所述的方法,其中,所述块遍历操作包括:
基于所述目标索引确定所述数据表中待遍历的当前数据块的块范围信息,根据所述块范围信息遍历所述当前数据块;
若所述当前数据块为所述数据表中的最后一块,结束所述数据表的遍历操作;否则,对所述数据表中下一数据块执行块遍历操作。
5.根据权利要求4所述的方法,其中,所述基于所述目标索引确定所述数据表中待遍历的当前数据块的块范围信息包括:
基于所述目标索引,以及所述数据表中待遍历的当前数据块的起始位置信息、所述当前数据块的块尺寸信息,确定当前数据块的块范围信息。
6.根据权利要求1所述的方法,其中,所述基于所述目标索引对所述数据表中的各数据块执行块遍历操作,并在遍历所述数据表的过程中,根据所述数据表中当前数据块被块遍历后的SQL执行时间信息确定所述数据表中下一数据块的块尺寸信息,还包括:
根据所述数据表中当前数据块被块遍历后的SQL执行时间信息确定所述当前数据块被块遍历后的缓冲信息。
7.根据权利要求6所述的方法,其中,所述根据所述数据表中当前数据块被块遍历后的SQL执行时间信息确定所述当前数据块被块遍历后的缓冲信息包括:
根据块遍历的回表信息,以及所述数据表中当前数据块被块遍历后的SQL执行时间信息确定所述当前数据块被块遍历后的缓冲信息。
8.根据权利要求7所述的方法,其中,所述根据块遍历的回表信息,以及所述数据表中当前数据块被块遍历后的SQL执行时间信息确定所述当前数据块被块遍历后的缓冲信息,包括:
当块遍历的回表次数低于预定阈值,根据所述当前数据块的块尺寸信息确定对应安全执行时间信息,并根据所述安全执行时间信息及所述SQL执行时间信息确定所述当前数据块被块遍历后的缓冲信息;或者,
当块遍历的回表次数高于预定阈值,根据所述SQL执行时间信息及对应的IOPS期望信息确定所述当前数据块被块遍历后的缓冲信息。
9.根据权利要求7或8所述的方法,其中,所述根据所述数据表中当前数据块被块遍历后的SQL执行时间信息确定所述数据表中下一数据块的块尺寸信息还包括:
根据所述SQL执行时间信息及所述当前数据块对应的期望块时间确定所述下一数据块对应的期望块时间;根据所述期望块时间确定所述下一数据块的块尺寸信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710050584.7/1.html,转载请声明来源钻瓜专利网。