买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种数据同步时数据表索引的创建方法_武汉达梦数据库有限公司_201811338933.6 

申请/专利权人:武汉达梦数据库有限公司

申请日:2018-11-12

公开(公告)日:2021-04-09

公开(公告)号:CN109271455B

主分类号:G06F16/27(20190101)

分类号:G06F16/27(20190101);G06F16/22(20190101)

优先权:

专利状态码:有效-授权

法律状态:2021.04.09#授权;2019.02.26#实质审查的生效;2019.01.25#公开

摘要:本发明公开一种数据同步时数据表索引的创建方法,包括以下步骤:步骤S1、数据同步前,对待同步的数据表进行采样,获取采样数据;步骤S2、提取所述采样数据中不同值的个数最多的一列作为索引列;步骤S3、提取所述索引列中的所有不同值作为所述数据表的索引。本发明提供的数据同步时数据表索引的创建方法,在数据同步前创建数据表的简略的索引,保证了数据同步的高性能,同时索引创建流程简单方便,索引创建效率高。

主权项:1.一种数据同步时数据表索引的创建方法,其特征在于,包括以下步骤:步骤S1、数据同步前,对待同步的数据表进行采样,获取采样数据;步骤S2、提取所述采样数据中不同值的个数最多的一列作为索引列;步骤S3、提取所述索引列中的所有不同值作为所述数据表的索引;其中,所述步骤S1之前还包括:判断待同步的数据操作是否需要用到数据表的索引,如果需要则转步骤S1,否则结束索引创建流程,且所述判断待同步的数据操作是否需要用到数据表的索引具体为:判断待同步的数据操作是否为UPDATE操作或DELETE操作,如果是则需要用到数据表的索引,否则不需要;所述步骤S2还包括:判断所述索引列的不同值的个数是否达到所述采样数据的总行数的设定百分比阈值,如果是则转步骤S3,否则将所述索引列与所述采样数据中的其他列分别组合形成组合索引列,计算各所述组合索引列中不同值的个数,选取不同值的个数最多的组合索引列替代所述索引列并转步骤S3。

全文数据:一种数据同步时数据表索引的创建方法技术领域本发明涉及数据同步技术领域,具体涉及一种数据同步时数据表索引的创建方法。背景技术在数据同步过程中,一些数据操作的同步需要用到数据表的索引。如果需要同步的数据表既没有索引也没有主键,则数据同步性能非常的低。这时则需要在执行端执行同步操作前,对数据表创建一个索引。现有索引创建方法需要根据同步性能进行人工判断和干预,效率低下,延迟大,不适用于数据同步免维护的实施。发明内容本发明的目的在于克服上述技术不足,提供一种数据同步时数据表索引的创建方法,解决现有技术中同步没有索引的数据表时同步性能低,索引创建需要人工干预的技术问题。为达到上述技术目的,本发明的技术方案提供一种数据同步时数据表索引的创建方法,包括以下步骤:步骤S1、数据同步前,对待同步的数据表进行采样,获取采样数据;步骤S2、提取所述采样数据中不同值的个数最多的一列作为索引列;步骤S3、提取所述索引列中的所有不同值作为所述数据表的索引。与现有技术相比,本发明的有益效果包括:本发明在数据同步前,对数据表创建索引,便于后续数据表的数据同步;先对数据表进行采样,然后提取采样数据中不同值最多的一列作为索引列,得到数据表的简略的索引,一方面可以提高数据同步性能,另一方面索引创建方式简单,创建效率高,完全自动运行,不需要人工干预,不会拖慢数据同步的速度。附图说明图1是本发明提供的数据同步时数据表索引的创建方法。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。实施例1:如图1所示,本发明的实施例1提供了一种数据同步时数据表索引的创建方法,包括以下步骤:步骤S1、数据同步前,对待同步的数据表进行采样,获取采样数据;步骤S2、提取所述采样数据中不同值的个数最多的一列作为索引列;步骤S3、提取所述索引列中的所有不同值作为所述数据表的索引。本发明通过对数据表进行采样,提取采样数据中不同值的个数最多的一列作为索引列,进行索引的创建,得到数据表的简略的索引,既满足了数据同步时对数据表索引的需求,保证了数据同步的高性能,同时索引创建流程简单,索引创建及时、效率高。本发明在数据同步前进行索引的创建,保证了数据同步的高性能,同时索引创建流程简单方便,索引创建速度快。优选的,所述步骤S1之前还包括:判断待同步的数据操作是否需要用到数据表的索引,如果需要则转步骤S1,否则结束索引创建流程。先判断需要同步的数据操作是否需要用到数据表的索引,如果需要再进行创建,不需要则结束流程,避免不必要的索引创建。优选的,所述判断待同步的数据操作是否需要用到数据表的索引具体为:判断待同步的数据操作是否为UPDATE操作或DELET操作,如果是则需要用到数据表的索引,否则不需要。UPDATE操作和DELET操作在同步时均需要用到数据表的索引,因此通过判断数据操作是否为UPDATE操作或DELET操作判断是否需要创建索引。优选的,所述步骤S1之前还包括:判断所述数据表的总行数是否大于设定阈值,如果是则转步骤S1,否则结束索引创建流程。如果数据表的总行数较少,则没必要创建索引。因为数据表的数据量较少,即使在没有索引的情况下进行数据同步时,数据同步性能仍可以保持较高水平,此时进行索引创建再进行数据同步,反而会拉低数据同步性能。优选的,所述采样数据的总行数为所述设定阈值。采样数据同样不宜过少,否则影响索引创建的准确性。以设定阈值为采样数据的总行数更方便,创建索引前,直接判断数据表的总行数是否大于设定阈值,如果是,则采样行数为设定阈值的采样数据,否则结束索引创建流程,即可。优选的,所述步骤S2还包括:判断所述索引列的不同值的个数是否达到所述采样数据的总行数的设定百分比阈值,如果是则转步骤S3,否则将所述索引列与所述采样数据中的其他列分别组合形成组合索引列,计算各所述组合索引列中不同值的个数,选取不同值的个数最多的组合索引列替代所述索引列并转步骤S3。如果索引列的不同值的个数过少,则无法很好的起到索引的作用。因此,先判断索引列里不同值的个数是否达到采样数据的总行数的设定百分比阈值。设定百分比阈值可根据具体情况进行设置,本实施例中以设定百分比阈值为80%为例说明。如果索引列里不同值的个数达到采样数据的总行数的80%,则索引列可以很好的起到索引作用,因此直接转步骤S3以索引列为基础创建索引;如果索引列里不同值的个数没有达到采样数据的总行数的80%,说明索引列不能很好的起到索引作用,此时先将索引列与采样数据中其他列分别合并,形成多个组合索引列,然后选取组合索引列中不同值的个数最多的作为新的索引列,代替之前的索引列,然后再转步骤S3以新的索引列为基础创建索引。本实施例有效的提高了索引创建的有效性。实施例2:本发明的实施例2提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现以上任一实施例所述的数据同步时数据表索引的创建方法。本发明提供的计算机存储介质,用于实现上述数据同步时数据表索引的创建方法,因此,上述数据同步时数据表索引的创建方法所具备的技术效果,计算机存储介质同样具备,在此不再赘述。以上所述本发明的具体实施方式,并不构成对本发明保护范围的限定。任何根据本发明的技术构思所做出的各种其他相应的改变与变形,均应包含在本发明权利要求的保护范围内。

权利要求:1.一种数据同步时数据表索引的创建方法,其特征在于,包括以下步骤:步骤S1、数据同步前,对待同步的数据表进行采样,获取采样数据;步骤S2、提取所述采样数据中不同值的个数最多的一列作为索引列;步骤S3、提取所述索引列中的所有不同值作为所述数据表的索引。2.根据权利要求1所述的数据同步时数据表索引的创建方法,其特征在于,所述步骤S1之前还包括:判断待同步的数据操作是否需要用到数据表的索引,如果需要则转步骤S1,否则结束索引创建流程。3.根据权利要求2所述的数据同步时数据表索引的创建方法,其特征在于,所述判断待同步的数据操作是否需要用到数据表的索引具体为:判断待同步的数据操作是否为UPDATE操作或DELET操作,如果是则需要用到数据表的索引,否则不需要。4.根据权利要求1所述的数据同步时数据表索引的创建方法,其特征在于,所述步骤S1之前还包括:判断所述数据表的总行数是否大于设定阈值,如果是则转步骤S1,否则结束索引创建流程。5.根据权利要求4所述的数据同步时数据表索引的创建方法,其特征在于,所述采样数据的总行数为所述设定阈值。6.根据权利要求1所述的数据同步时数据表索引的创建方法,其特征在于,所述步骤S2还包括:判断所述索引列的不同值的个数是否达到所述采样数据的总行数的设定百分比阈值,如果是则转步骤S3,否则将所述索引列与所述采样数据中的其他列分别组合形成组合索引列,计算各所述组合索引列中不同值的个数,选取不同值的个数最多的组合索引列替代所述索引列并转步骤S3。7.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1-6任一所述的数据同步时数据表索引的创建方法。

百度查询: 武汉达梦数据库有限公司 一种数据同步时数据表索引的创建方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。