一种提高数据库的有效存储空间的方法和装置制造方法及图纸

技术编号:14850771 阅读:57 留言:0更新日期:2017-03-18 13:21
本发明专利技术公开了一种提高数据库的有效存储空间的方法和装置。该方法包括:选定数据库中的一个或多个数据表;对于一个或多个数据表中的每个数据表:获取该数据表的整体文件数据量,以及获取该数据表中的实际有效数据的数据量;根据该数据表的整体文件数据量和实际有效数据的数据量确定是否需要对该数据表进行处理;如果确定需要对该数据表进行处理,则对该数据表中的无效数据的存储空间进行回收。本发明专利技术通过清理无效数据的存储空间的方式,释放磁盘空间的浪费空间,有效防止因无效数据的占用而造成的磁盘空间的浪费。

【技术实现步骤摘要】

本专利技术涉及计算机
,具体涉及一种提高数据库的有效存储空间的方法和装置
技术介绍
数据库是按照数据结构来组织、存储和管理数据的仓库。业务端将数据存入相应的数据库,以便进行有效的存储和管理,如果某数据已经不再被需要,就会从数据库中将相应的数据删除。但是,在实际操作中,删除数据库中的数据只是在数据库中进行相应数据的标记位层面上的删除,并不是真正的将数据本身删除,例如,有效数据的标记位为“0”,该数据仍然可以被查询或获取到;被删除后的无效数据的标记位为“1”,该数据就无法被查询或获取到,但是该数据仍然存在数据库中,除非有新的数据将其覆盖掉。这样,被删除的数据仍会占用数据库的磁盘空间,造成磁盘空间的浪费。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的一种提高数据库的有效存储空间的方法和相应的装置。依据本专利技术的一个方面,提供了一种提高数据库的有效存储空间的方法,包括:选定数据库中的一个或多个数据表;对于所述一个或多个数据表中的每个数据表:获取该数据表的整体文件数据量,以及获取该数据表中的实际有效数据的数据量;根据该数据表的整体文件数据量和实际有效数据的数据量确定是否需要对该数据表进行处理;如果确定需要对该数据表进行处理,则对该数据表中的无效数据的存储空间进行回收。可选地,所述选定数据库中的一个或多个数据表包括:选定数据库中的整体文件数据量大于第一预设值的数据表。可选地,所述获取该数据表的整体文件数据量包括:获取该数据表中的索引文件大小和数据文件大小,以及获取该数据表中的分区数据的数据量大小;取三者之和作为该数据表的整体文件数据量。可选地,所述获取该数据表中的实际有效数据的数据量包括:从该数据库的信息计划表中获取该数据库中的有效数据长度值和有效索引长度值,以两者之和作为该数据表中的实际有效数据的数据量。可选地,所述根据该数据表的整体文件数据量和实际有效数据的数据量确定是否需要对该数据表进行处理包括:计算该数据表的整体文件数据量和实际有效数据的数据量的差值;计算所述差值占该数据表的整体文件数据量的比例值;当所述比例值大于第二预设值时,确定需要对该数据表进行处理。可选地,所述对该数据表中的无效数据的存储空间进行回收包括:采用改表的方式将该数据表中的数据进行重排,以回收该数据表中的无效数据的存储空间;或者,利用数据库自身的回收命令,对该数据表中的无效数据的存储空间进行回收。可选地,在对该数据表中的无效数据的存储空间进行回收之前,该方法进一步包括:对该数据库的访问量分布进行统计;如果该数据库存在访问量低于第三预设值的时间段,则在该时间段登录数据库,利用数据库自身的回收命令,对该数据表中的无效数据的存储空间进行回收;如果该数据库不存在访问量低于第三预设值的时间段,则采用改表的方式将该数据表中的数据进行重排。。根据本专利技术的另一方面,提供了一种提高数据库的有效存储空间的装置,其中,该装置包括:选定单元,适于选定数据库中的一个或多个数据表;对于所述一个或多个数据表中的每个数据表:数据量获取单元,适于获取该数据表的整体文件数据量,以及获取该数据表中的实际有效数据的数据量;处理确定单元,适于根据该数据表的整体文件数据量和实际有效数据的数据量确定是否需要对该数据表进行处理;处理执行单元,适于如果确定需要对该数据表进行处理,则对该数据表中的无效数据的存储空间进行回收。可选地,所述选定单元,适于选定数据库中的整体文件数据量大于第一预设值的数据表。可选地,所述数据量获取单元,适于获取该数据表中的索引文件大小和数据文件大小,以及获取该数据表中的分区数据的数据量大小;取三者之和作为该数据表的整体文件数据量。可选地,所述数据量获取单元,适于从该数据库的信息计划表中获取该数据库中的有效数据长度值和有效索引长度值,以两者之和作为该数据表中的实际有效数据的数据量。可选地,所述处理确定单元,适于计算该数据表的整体文件数据量和实际有效数据的数据量的差值;计算所述差值占该数据表的整体文件数据量的比例值;当所述比例值大于第二预设值时,确定需要对该数据表进行处理。可选地,所述处理执行单元,适于采用改表的方式将该数据表中的数据进行重排,以回收该数据表中的无效数据的存储空间;或者,适于利用数据库自身的回收命令,对该数据表中的无效数据的存储空间进行回收。可选地,所述处理执行单元,进一步适于对该数据库的访问量分布进行统计;如果该数据库存在访问量低于第三预设值的时间段,则在该时间段登录数据库,利用数据库自身的回收命令,对该数据表中的无效数据的存储空间进行回收;如果该数据库不存在访问量低于第三预设值的时间段,则采用改表的方式将该数据表中的数据进行重排。根据本专利技术的技术方案,首先判断数据表是否需要清理无效数据,选定数据库中的一个或者多个数据表,并获取该数据表的整体文件的数据量,以及该数据表的实际有效数据量,通过该数据表的整体文件数据量和实际有效数据的数据量确定是否需要对该数据表进行处理,如果数据表中的无效数据量过大,就确定需要对该数据表进行处理,为了清理无效数据占用的磁盘空间,对该数据表中的无效数据的存储空间进行回收。综上所述,本专利技术通过清理无效数据的存储空间的方式,释放磁盘空间的浪费空间,有效防止因无效数据的占用而造成的磁盘空间的浪费。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了根据本专利技术一个实施例的一种提高数据库的有效存储空间的方法的流程示意图;图2示出了根据本专利技术一个实施例的一种提高数据库的有效存储空间的装置的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。图1示出了根据本专利技术一个实施例的一种提高数据库的有效存储空间的方法的流程示意图。如图1所示,该方法包括:步骤S110,选定数据库中的一个或多个数据表。对于一个或多个数据表中的每个数据表,执行如下的步骤S120-S140。步骤S120,获取该数据表的整体文件数据量,以及获取该数据表中的实际有效数据的数据量。因为数据库删除属于标记位删除,并没有真正删除数据、释放空间,且被删除的数据属于无效数据,数据表中的整体文件的数据量就包括有效数据和无效数据。为了确定该数据表是否需要进行无效数据的清理,提高数据表的有效存储空间,需要获取该数据表的整体稳健数据量和实际有效数据的数据量,以获得该数据表中的无效数据的数据量。在本专利技术的一个实施例中,可以通过“information_schema.tables”获取数据表,通过读的方式获取该数据表的文件数据量以及通过“(tru本文档来自技高网...
一种提高数据库的有效存储空间的方法和装置

【技术保护点】
一种提高数据库的有效存储空间的方法,包括:选定数据库中的一个或多个数据表;对于所述一个或多个数据表中的每个数据表:获取该数据表的整体文件数据量,以及获取该数据表中的实际有效数据的数据量;根据该数据表的整体文件数据量和实际有效数据的数据量确定是否需要对该数据表进行处理;如果确定需要对该数据表进行处理,则对该数据表中的无效数据的存储空间进行回收。

【技术特征摘要】
1.一种提高数据库的有效存储空间的方法,包括:选定数据库中的一个或多个数据表;对于所述一个或多个数据表中的每个数据表:获取该数据表的整体文件数据量,以及获取该数据表中的实际有效数据的数据量;根据该数据表的整体文件数据量和实际有效数据的数据量确定是否需要对该数据表进行处理;如果确定需要对该数据表进行处理,则对该数据表中的无效数据的存储空间进行回收。2.如权利要求1所述的方法,其中,所述选定数据库中的一个或多个数据表包括:选定数据库中的整体文件数据量大于第一预设值的数据表。3.如权利要求1所述的方法,其中,所述获取该数据表的整体文件数据量包括:获取该数据表中的索引文件大小和数据文件大小,以及获取该数据表中的分区数据的数据量大小;取三者之和作为该数据表的整体文件数据量。4.如权利要求1所述的方法,其中,所述获取该数据表中的实际有效数据的数据量包括:从该数据库的信息计划表中获取该数据库中的有效数据长度值和有效索引长度值,以两者之和作为该数据表中的实际有效数据的数据量。5.如权利要求1所述的方法,其中,所述根据该数据表的整体文件数据量和实际有效数据的数据量确定是否需要对该数据表进行处理包括:计算该数据表的整体文件数据量和实际有效数据的数据量的差值;计算所述差值占该数据表的整体文件数据量的比例值;当所述比例值大于第二预设值时,确定需...

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

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

1