一种处理主从式数据库系统中的索引的方法和装置制造方法及图纸

技术编号:15542148 阅读:67 留言:0更新日期:2017-06-05 11:13
本发明专利技术公开了一种处理主从式数据库系统中的索引的方法和装置。该方法包括:对于一个主从式数据库系统中的每个数据库,获取该数据库中的符合预设条件的索引,将获取到的符合预设条件的索引保存到第一分析统计表中;从第一分析统计表中查找出在各数据库中均符合预设条件的索引并保存到待处理列表中;从主从式数据库系统中的各数据库中删除存在于待处理列表中的索引。上述技术方案可以在不影响数据库系统正常查询的情况下删除冗余索引,释放浪费的磁盘空间,保证数据库查询的速度。

Method and device for processing indexes in master-slave database system

The invention discloses a method and a device for processing an index in a master-slave database system. The method comprises: for each database a master-slave database system, access to the database in accordance with the preset condition index, will get to the preset conditions required for the preservation of indexes to the first statistical analysis table; statistics from the first analysis to find out the database in accord with the preset condition index and saved to the pending list; from the database of master-slave database system in the delete pending list exists in the index. The technical proposal can delete the redundant index without affecting the normal inquiry of the database system, release the wasted disk space, and guarantee the speed of database inquiry.

【技术实现步骤摘要】
一种处理主从式数据库系统中的索引的方法和装置
本专利技术涉及计算机
,具体涉及一种处理主从式数据库系统中的索引的方法和装置。
技术介绍
为了实现数据库系统的稳定性,主从架构(Master/Slave)的数据库系统被广泛应用。主从式数据库包含有一个主数据库和一个或者多个从数据库,实现了数据库读写功能的分离。一般来说,主数据库负责写入数据的操作,从数据库负责对主数据库的数据进行备份以及负责数据查询等操作。当数据库的数据表中有大量记录时,若要对数据库中的数据进行查询,一种方法是可以进行全数据库表的遍历搜索,将所有数据一一取出,和查询条件进行一一对比,然后返回满足条件的数据,但是这样做会消耗大量数据库系统时间,查询速度慢;另一种方法是在数据库中建立索引,然后在索引中找到符合查询条件的索引值,最后通过保存的索引快速找到数据库中对应的数据,这种方法可以实现数据的快速查找。但是在数据库中建立索引会占用磁盘空间,而且大量的索引中不免会出现一些冗余的索引,造成磁盘空间的浪费,冗余索引的存在还会影响查询优化器对索引的选择,导致数据查询速度慢。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的处理主从式数据库系统中的索引的方法和相应的装置。依据本专利技术的一个方面,提供了一种处理主从式数据库系统中的索引的方法,包括:对于一个主从式数据库系统中的每个数据库,获取该数据库中的符合预设条件的索引,将获取到的符合预设条件的索引保存到第一分析统计表中;从所述第一分析统计表中查找出在各数据库中均符合预设条件的索引并保存到待处理列表中;从所述主从式数据库系统中的各数据库中删除存在于所述待处理列表中的索引。可选地,所述获取该数据库中的符合预设条件的索引包括:获取该数据库中被访问次数不超过预设阈值的索引。可选地,所述获取该数据库中被访问次数不超过预设阈值的索引包括:通过查询该数据库的第一原生表,获取该数据库中被访问次数不超过预设阈值的索引;所述第一原生表中记录了自该数据库启动以来的各索引的被访问次数。可选地,所述获取该数据库中的符合预设条件的索引包括:获取该数据库中的最后一次被访问的时间距离当前时间超出预设时间长度的索引。可选地,所述获取该数据库中的最后一次被访问的时间距离当前时间超出预设时间长度的索引包括:从第二分析统计表中查找出最后一次被访问的时间距离当前时间超出预设时间长度的索引;其中,对于一个主从式数据库系统中的每个数据库,在第二分析统计表中记录该数据库中的索引的最后一次被访问的时间。可选地,从所述第一分析统计表中查找出在各数据库中均符合预设条件的索引包括:从所述第一分析统计表中查找在第一分析统计表中出现的次数等于所述主从式数据库系统中的数据库个数的索引。可选地,该方法进一步包括:对于一个主从式数据库系统中的每个数据库,获取该数据库中的主键索引;在将该数据库中的符合预设条件的索引保存到第一分析统计表时,排除其中的主键索引。可选地,所述获取该数据库中的主键索引包括:通过查询该数据库的第二原生表,获取该数据库中的主键索引;所述第二原生表中记录了该数据库中的索引的类型;索引的类型包括:主键索引。可选地,所述将获取到的符合预设条件的索引保存到第一分析统计表中包括:每获取到一个符合预设条件的索引,向所述第一分析统计表中添加一条索引记录;一条索引记录包括:端口号、数据库标识、数据表标识和索引标识。可选地,该方法进一步包括:将所述第一分析统计表中的数据库标识和数据表标识相同的各条索引记录合并成一条索引记录存储到所述第一分析统计表中。可选地,在从所述主从式数据库系统中的各数据库中删除存在于所述待处理列表中的索引之前,该方法进一步包括:将所述待处理列表发送给相应的业务端;当接收到相应业务端的删除指示后,再执行所述从所述主从式数据库系统中的各数据库中删除存在于所述待处理列表中的索引的步骤。根据本专利技术的另一方面,提供了一种处理主从式数据库系统中的索引的装置,包括:获取单元,适于对于一个主从式数据库系统中的每个数据库,获取该数据库中的符合预设条件的索引,将获取到的符合预设条件的索引保存到第一分析统计表中;查找单元,适于从所述第一分析统计表中查找出在各数据库中均符合预设条件的索引并保存到待处理列表中;存储单元,适于存储所述第一分析统计表和待处理列表;索引处理单元,适于从所述主从式数据库系统中的各数据库中删除存在于所述待处理列表中的索引。可选地,所述获取单元,适于获取该数据库中被访问次数不超过预设阈值的索引。可选地,所述获取单元,适于通过查询该数据库的第一原生表,获取该数据库中被访问次数不超过预设阈值的索引;所述第一原生表中记录了自该数据库启动以来的各索引的被访问次数。可选地,所述获取单元,适于获取该数据库中的最后一次被访问的时间距离当前时间超出预设时间长度的索引。可选地,该装置进一步包括:记录单元,适于对于一个主从式数据库系统中的每个数据库,在第二分析统计表中记录该数据库中的索引的最后一次被访问的时间;所述存储单元,进一步适于存储第二分析统计表;所述获取单元,适于从第二分析统计表中查找出最后一次被访问的时间距离当前时间超出预设时间长度的索引。可选地,所述查找单元,适于从所述第一分析统计表中查找在第一分析统计表中出现的次数等于所述主从式数据库系统中的数据库个数的索引。可选地,所述获取单元,进一步适于对于一个主从式数据库系统中的每个数据库,获取该数据库中的主键索引;在将该数据库中的符合预设条件的索引保存到第一分析统计表时,排除其中的主键索引。可选地,所述获取单元,适于通过查询该数据库的第二原生表,获取该数据库中的主键索引;所述第二原生表中记录了该数据库中的索引的类型;索引的类型包括:主键索引。可选地,所述获取单元,适于每获取到一个符合预设条件的索引,向所述第一分析统计表中添加一条索引记录;一条索引记录包括:端口号、数据库标识、数据表标识和索引标识。可选地,所述获取单元,进一步适于将所述第一分析统计表中的数据库标识和数据表标识相同的各条索引记录合并成一条索引记录存储到所述第一分析统计表中。可选地,所述索引处理单元,进一步适于在从所述主从式数据库系统中的各数据库中删除存在于所述待处理列表中的索引之前,将所述待处理列表发送给相应的业务端;当接收到相应业务端的删除指示后,再执行所述从所述主从式数据库系统中的各数据库中删除存在于所述待处理列表中的索引的步骤。根据本专利技术技术方案,遍历主从数据库系统中的每个数据库,将每个数据库中符合预设条件的索引分别查找出来并保存在一个新建的分析统计表中,这样就可以不影响数据库查询的正常操作;然后再从分析统计表中查找出在各个数据库中的均符合预设条件的索引保存到待处理列表中,对应删除数据库系统中所有的存在于待处理列表中的索引,减少磁盘空间的浪费。综上所述,本专利技术可以在不影响数据库系统正常查询的情况下,删除冗余索引,释放浪费的磁盘空间,保证数据库查询的速度。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他本文档来自技高网...
一种处理主从式数据库系统中的索引的方法和装置

【技术保护点】
一种处理主从式数据库系统中的索引的方法,包括:对于一个主从式数据库系统中的每个数据库,获取该数据库中的符合预设条件的索引,将获取到的符合预设条件的索引保存到第一分析统计表中;从所述第一分析统计表中查找出在各数据库中均符合预设条件的索引并保存到待处理列表中;从所述主从式数据库系统中的各数据库中删除存在于所述待处理列表中的索引。

【技术特征摘要】
1.一种处理主从式数据库系统中的索引的方法,包括:对于一个主从式数据库系统中的每个数据库,获取该数据库中的符合预设条件的索引,将获取到的符合预设条件的索引保存到第一分析统计表中;从所述第一分析统计表中查找出在各数据库中均符合预设条件的索引并保存到待处理列表中;从所述主从式数据库系统中的各数据库中删除存在于所述待处理列表中的索引。2.如权利要求1所述的方法,其中,所述获取该数据库中的符合预设条件的索引包括:获取该数据库中被访问次数不超过预设阈值的索引。3.如权利要求2所述的方法,其中,所述获取该数据库中被访问次数不超过预设阈值的索引包括:通过查询该数据库的第一原生表,获取该数据库中被访问次数不超过预设阈值的索引;所述第一原生表中记录了自该数据库启动以来的各索引的被访问次数。4.如权利要求1所述的方法,其中,所述获取该数据库中的符合预设条件的索引包括:获取该数据库中的最后一次被访问的时间距离当前时间超出预设时间长度的索引。5.如权利要求4所述的方法,其中,所述获取该数据库中的最后一次被访问的时间距离当前时间超出预设时间长度的索引包括:从第二分析统计表中查找出最后一次被访问的时间距离当前时间超出预设时间长度的索引;其中,对于一个主从式数据库系统中的每个数据库,在第二分析统计表中记录该数据库中的索引的最后一次被访问的时间。6.一种...

【专利技术属性】
技术研发人员:任娜杨挺
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1