CN106547805A - 优化数据库索引的方法和装置 - Google Patents

优化数据库索引的方法和装置 Download PDF

Info

Publication number
CN106547805A
CN106547805A CN201510614324.9A CN201510614324A CN106547805A CN 106547805 A CN106547805 A CN 106547805A CN 201510614324 A CN201510614324 A CN 201510614324A CN 106547805 A CN106547805 A CN 106547805A
Authority
CN
China
Prior art keywords
data
index
tables
threshold
correspondence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201510614324.9A
Other languages
English (en)
Inventor
刘臻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201510614324.9A priority Critical patent/CN106547805A/zh
Publication of CN106547805A publication Critical patent/CN106547805A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures

Abstract

本申请提供了一种优化数据库索引的方法和装置,包括:获取对数据库中各数据表的访问历史记录,以及获取对应各数据表的各索引的使用历史记录;根据所述各数据表的访问历史记录和对应各数据表的各索引的使用历史记录,确认使用频率小于第一阈值的对应数据表的索引;将所述索引删除或修改、或者通知所述数据表对应的业务方对所述索引进行删除或修改。从而解决了索引的存储空间浪费的问题。

Description

优化数据库索引的方法和装置
技术领域
本申请涉及数据库管理技术,特别是涉及一种优化数据库索引的方法和装置。
背景技术
随着计算机硬件技术以及数据库技术的发展,在提供越来越大的数据存储能力的同时,数据库对应外界访问的响应效率也越来越高,通过使用数据库索引技术,可以在一定程度上提高对数据库的访问效率。
目前提供的数据库服务通常会给业务方较大的使用权限,业务方可以根据自己的业务需求建数据表和建立索引等,由于业务方对数据库了解程度不一样,有些索引建立的合理,有些索引建立的不合理,对于不合理的索引,数据库服务器可能很少使用,但是对该很少使用的索引也不会对其进行处理,比如删除或者修改,从而浪费了索引存储空间。
进一步的,虽然建立的索引合理,但是由于业务的变更,查询条件也会发生变更,已经建立的索引不适应变更后的业务需求。例如:数据表结构包括ID列、名称列和地址列等,业务未变更时,以ID列构建索引,然后在查询时以ID在索引中进行查询,当业务发生变更时,不再以ID进行查询,那么该以ID列构建的索引就不再适用,额外占用了索引存储空间。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种优化数据库索引的方法和装置。
依据本发明的一个方面,提供了一种优化数据库索引的方法,包括:获取对数据库中各数据表的访问历史记录,以及获取对应各数据表的各索引的使用历史记录;
根据所述各数据表的访问历史记录和对应各数据表的各索引的使用历史记录,确认使用频率小于第一阈值的对应数据表的索引;
将所述索引删除或修改、或者通知所述数据表对应的业务方对所述索引进行删除或修改。
可选地,所述对数据库中各数据表的访问历史记录包括数据表的访问次数,所述对应各数据表的索引的使用历史记录包括索引的使用次数。
可选地,所述根据所述各数据表的访问历史记录和对应各数据表的各索引的使用历史记录,确认使用频率小于阈值的对应数据表的索引,包括:
计算所述索引的使用次数与所述索引对应的数据表的访问次数之间的比值,并判断所述比值是否小于第一阈值;
若所述比值小于第一阈值,则确认使用频率小于第一阈值的对应数据表的索引。
可选地,获取对应各数据表的各索引的使用历史记录中的使用次数包括:
通过information schema服务,获取对应各数据表的索引的使用次数。
可选地,所述将所述索引删除或修改、或者通知所述数据表对应的业务方对所述索引进行删除或修改之前,还包括:
判断数据库中各数据表的数据量是否小于第二阈值;
若所述数据量小于第二阈值,则不对各数据表的各索引进行判断或者删除或者修改。
根据本发明的另一方面,提供了一种优化数据库索引的装置,包括:
获取模块,适于获取对数据库中各数据表的访问历史记录,以及获取对应各数据表的各索引的使用历史记录;
确认模块,适于根据所述各数据表的访问历史记录和对应各数据表的各索引的使用历史记录,确认使用频率小于第一阈值的对应数据表的索引;
索引处理模块,适于将所述索引删除或修改、或者通知所述数据表对应的业务方对所述索引进行删除或修改。
可选地,所述对数据库中各数据表的访问历史记录包括数据表的访问次数,所述对应各数据表的索引的使用历史记录包括索引的使用次数。
可选地,所述确定模块包括:
计算子模块,适于计算所述索引的使用次数与所述索引对应的数据表的访问次数之间的比值,并判断所述比值是否小于第一阈值;若所述比值小于第一阈值,则确认使用频率小于第一阈值的对应数据表的索引。
可选地,所述获取模块包括:
索引使用次数获取模块,适于通过information schema服务,获取对应各数据表的索引的使用次数。
可选地,在所述索引处理模块之前,还包括:
判断模块,适于判断数据库中各数据表的数据量,若所述数据量小于第二阈值,则不对各数据表的各索引进行判断或者删除或者修改。
根据本发明的一种优化数据库索引的方案可以根据数据库中各数据表的访问历史记录和对应各数据表的各索引的使用历史记录,确定使用频率小于第一阈值的对应数据表的索引,将索引删除或修改、或者通过数据表对应的业务方对索引进行删除或修改,因此可以针对由于业务方对索引不合理构建导致该索引使用频率低的索引,和/或由于数据表对应的业务变更后导致该原索引使用频率低的索引,对其进行删除或者修改,进而降低索引的存储空间的浪费。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本申请实施例所述一种优化数据库索引的方法的流程图;
图1-A是本申请数据库服务的框架结构;
图2是本申请实施例所述一种优化数据库索引的方法的流程图;
图3是本申请实施例所述一种优化数据库索引装置的结构框图;
图4是本申请实施例所述一种优化数据库索引装置的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
参照图1,其示出了本申请实施例所述一种优化数据库索引的方法的流程示意图,具体可以包括:
步骤110:获取对数据库中各数据表的访问历史记录,以及获取对应各数据表的各索引的使用历史记录。
在实际应用中,数据库对前端的各种业务系统提供数据服务,那么在接收到前端发送的检索请求,该检索请求中可包括数据表和查询条件,数据库在接收到该检索请求后,可先去索引存储空间中,查找该数据表的索引,以及符合该查询条件的索引。如果查找到索引,则从找到的索引进行具体的查询,如果未找到索引,则会直接去数据表中查询。
本发明实施例的数据库可以是mysql类型的数据库,当然也可以是其他类型的数据库。
如图1-A,示出了本发明数据库服务器中的数据库结构,数据库服务器中在启动的数据库服务下,创建具体的database(数据库),在该数据库服务下可以创建多个database,该database存储有其数据表的管理信息。在每个database中可以创建各种table(数据表),该table中存储有不同的字段。而对于一个tabel,其可能有多个index(索引),针对不同的数据表建立不同的索引index。
对于mysql类型的数据库,数据库服务可以是mysql服务,当然对于其他类型的数据库,数据库服务可以为相应的服务。
因此,对于图1-A的数据库结构,前端发送过来的检索请求,数据库服务器则会先查找该检索请求对应的database,然后再在该database中去进行上述检索过程。
在数据库服务器的数据库被访问的过程中,可以对每个数据表的访问行为进行记录,从而有数据表的访问历史记录;也可以对该数据表的访问行为进行记录,从而有对应各数据表的各索引的使用历史记录。
步骤120:根据所述各数据表的访问历史记录和对应各数据表的各索引的使用历史记录,确认使用频率小于第一阈值的对应数据表的索引。
索引是对数据库的数据表中一个或多个列的值进行排序的数据结构,使用索引可快速访问数据库表中的特定信息。由于本发明的数据库中可以对一个table建立一个或者多个索引。因此在实际使用过程中,存在一些索引的使用频率高,一些索引的使用频率低的情况。
因此,本发明实施例可以根据各数据表的访问历史记录和各索引的使用历史记录确认使用频率小于第一阈值的对应数据表的索引。该小于第一阈值的对应数据表的索引可能是用户建立的索引不合理,导致索引不经常被使用,也有可能是由于业务变更导致该索引不再使用。
步骤130:将所述索引删除或修改、或者通知所述数据表对应的业务方对所述索引进行删除或修改。
本发明实施例的数据库服务器可以将确定出的索引直接删除或修改。当然,该删除或者修改可以根据数据表的重要程度执行。比如根据业务方预先为该数据表打的重要程度分值,去确定是否要将该索引进行删除或修改。如果该数据表的重要程度分值小于阈值,则删除或者修改该索引;反之则不予删除或者修改。
另外,本发明实施例的数据库服务器也可以通知数据表对应的业务方,由业务方根据业务的敏感度,对索引进行删除或修改,该敏感度可以包括业务的使用场景的重要程度。其中,通知数据表对应的业务方,可以为由数据库服务器向业务方的服务器发送通知消息,也可以为由数据库服务器向业务方的技术人员的邮箱发送通知消息。该通知消息可包括该索引的使用频率,和该索引对应的数据表的介绍等信息。
业务方根据业务的使用场景的不同,对索引进行判断,如果该索引对该使用场景很重要,即使该索引的使用次数很少,可以不进行索引的删除,因为该索引的删除可能造成查询效率低的问题,使用户在访问相应应用的某些功能的时候,可能会长时间等待查询结果,浪费用户的时间,并且影响用户体验。
本发明实施例,通过根据数据库中各数据表的访问历史记录和对应各数据表的各索引的使用历史记录,确定使用频率小于第一阈值的对应数据表的索引,将索引删除或修改、或者通过数据表对应的业务方对索引进行删除或修改,因此可以将用户建立不合理或业务变更后不使用的索引删除,避免无用索引对索引存储空间的浪费。
实施例二
参照图2,示出了本申请实施例中的一种优化数据库索引的方法的流程示意图。
步骤210:获取对数据库中各数据表的访问历史记录,以及获取对应各数据表的各索引的使用历史记录;其中,所述对数据库中各数据表的访问历史记录包括数据表的访问次数,所述对应各数据表的索引的使用历史记录包括索引的使用次数。
在实际应用中,本发明实施例记录的可以是各个数据表被访问的访问次数,比如对于数据表A,有10000个检索请求对数据表A进行了查询,那么记录数据表A的访问次数为10000。
对于该数据表的索引,记录的可以是该索引在检索过程中的使用次数,比如数据表A的索引A1使用了10次,则记录使用次数为10;索引A2在检索过程中使用了6000次,则记录索引A2使用了6000次;同理,索引A3在检索过程中使用了6000次,则记录索引A2使用了3990次。
当然,在本发明实施例中,对数据表的访问历史记录和索引的使用历史记录可以在一定的时间周期内记录,比如记录一个月内各数据表的访问次数和各索引的使用次数。
优选的,获取对应各数据表的各索引的使用历史记录中的使用次数包括:
子步骤211,通过information schema服务,获取对应各数据表的索引的使用次数。
在本发明实施例中,需要预先启动information schema服务,该information schema服务保存着关于数据库服务器所维护的所有其他数据库的信息,如数据库名、数据库的数据表、数据表表栏的数据类型与访问权限、数据表的索引相关信息等。比如information schema服务中的STATISTICS表,就提供了关于表索引的相关信息。
那么本发明实施例在数据库服务器启动时,也启动information schema服务。从而在数据库服务器中的各个索引被使用时,其则会记录索引的使用次数。
因此,本发明实施例则从information schema服务中获取各个索引的使用次数。
另外,在本发明实施例中,对于数据库中的数据表的访问次数,可以通过另外的监控系统对各个数据库的数据表的访问次数进行监控,同时,还可通过监控系统获取各个数据表的数据量,比如数据表的行数。
监控系统统计设定时间段内各个数据库的数据表的访问次数,并根据统计结果确定各个数据表的重要程度。
监控系统监控各个数据表的访问次数比如:在服务器接收到前端发起的检索请求后,分析该检索请求对应要检索的某个数据库的某个表的表名,那么对于该表来说,每被请求一次,则记录该表被访问一次,如此累计,即可记录各个数据库的数据表的访问次数。也可以理解为服务端对所述访问请求进行判断,如果访问请求为业务相关请求,服务端响应所述业务相关请求,执行所述业务相关请求对应的业务逻辑;服务端将执行所述业务逻辑过程中所产生的监控数据作为原始数据保存;服务端对所述原始数据进行统计得到统计数据并存放到统计服务单元,统计数据包括各个数据库的数据表的访问次数。
步骤220:计算所述索引的使用次数与所述索引对应的数据表的访问次数之间的比值,并判断所述比值是否小于第一阈值;如果所述比值小于第一阈值,则进入步骤230;否则进入步骤250。
计算所述索引的使用次数与所述索引对应的数据表的访问次数之间的比值,若所述比值小于第一阈值,则确认使用频率小于第一阈值的对应数据表的索引。
例如:索引C的使用次数为10,而索引C对应的数据表的访问次数为1000,通过计算该比值为1/100,索引D的使用次数为10,而索引D对应的数据表的访问次数为10000,通过计算该比值为1/1000。假设第一阈值为2/1000,那么将索引C的比值和索引D的比值分别与该第一阈值比较,发现索引D的比值小于第一阈值,则确认索引D的使用频率比较低,可以考虑将索引D删除或修改。而索引C的使用频率高于第一阈值,则不对其进行删除或修改。
步骤230:判断数据库中各数据表的数据量是否小于第二阈值;如果是,则执行步骤260,如果数据表的数据量大于等于第二阈值,则进入步骤240。
若所述数据量大于第二阈值,则对各数据表的各索引执行步骤220,确认使用频率小于第一阈值的对应数据表的索引。
那么,对于步骤220的数据表,当判断该数据表的数据量大于等于第二阈值,则进入步骤240,反之,则不对其进行处理。
数据量可以指各数据表中的有多少条数据,数据量小,相应改数据表的索引所占用的索引存储空间也很小,并且索引有或者没有以及索引是否合理,对整个数据表的影响不是很大,例如:数据表的数据量为100行或者200行,对数据表进行全表扫描的时间相差很小,因为我们不关注数量小的各数据表,本申请的方案主要针对量级比较大的数据量。
其中,第一阈值和第二阈值的设定可以由本领域技术人员采用任意适当方式进行设定,如可以采用人工经验设定阈值,或者针对历史数据的差异值设定阈值,本申请对此不作限制。
当然,本发明实施例中,步骤230还可以在步骤220之前或者步骤210之前,本发明并不对其加以限制。
步骤240:将索引删除或修改、或者通知数据表对应的业务方对索引进行删除或修改。
在本发明实施例中,可根据各数据表的访问次数、索引的使用次数和各数据表的数据量预先制定相应的规则,对进入步骤240的索引进行删除或修改操作,或者根据各数据表的访问次数、索引的使用次数和各数据表的数据量生成报表,将该报表发送至业务方,由业务方决定是否对该索引进行删除或修改操作。
步骤250:确认对应的数据表的索引使用频率较高,不对该索引进行处理。
步骤260:则不对各数据表的各索引进行判断或者删除或者修改。
在本发明实施例中,首先,通过根据数据库中各数据表的访问历史记录和对应各数据表的各索引的使用历史记录,确定使用频率小于第一阈值的对应数据表的索引,将索引删除或修改、或者通过数据表对应的业务方对索引进行删除或修改,因此可以针对由于业务方对索引不合理构建导致该索引使用频率低的索引,和/或由于数据表对应的业务变更后导致该原索引使用频率低的索引,对其进行删除或者修改,进而降低索引的存储空间的浪费。
其次,通过判断数据库中各数据表的数据量,将数据量小于第二阈值的索引不进行判断或者删除或者修改,减少了计算量,将低了资源的耗用。
需要说明的是,对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请所必需的。
基于上述方法实施例的说明,本申请还提供了相应的一种优化数据库索引装置的实施例,来实现上述方法实施例所述的内容。
实施例三
参见图3,示出了本申请实施例中的一种优化数据库索引装置的结构框图,具体可以包括:
获取模块310,适于获取对数据库中各数据表的访问历史记录,以及获取对应各数据表的各索引的使用历史记录;
确认模块320,适于根据所述各数据表的访问历史记录和对应各数据表的各索引的使用历史记录,确认使用频率小于第一阈值的对应数据表的索引;
索引处理模块330,适于将所述索引删除或修改、或者通知所述数据表对应的业务方对所述索引进行删除或修改。
本发明实施例,通过根据数据库中各数据表的访问历史记录和对应各数据表的各索引的使用历史记录,确定使用频率小于第一阈值的对应数据表的索引,将索引删除或修改、或者通过数据表对应的业务方对索引进行删除或修改,因此可以针对由于业务方对索引不合理构建导致该索引使用频率低的索引,和/或由于数据表对应的业务变更后导致该原索引使用频率低的索引,,对其进行删除或者修改,进而降低索引的存储空间的浪费。
实施例四
参见图4,示出了本申请实施例中的一种优化数据库索引装置的结构框图,具体可以包括:
获取模块310,适于获取对数据库中各数据表的访问历史记录,以及获取对应各数据表的各索引的使用历史记录;所述对数据库中各数据表的访问历史记录包括数据表的访问次数,所述对应各数据表的索引的使用历史记录包括索引的使用次数。
优选地,所述获取模块包括:索引使用次数获取模块,适于通过information schema服务,获取对应各数据表的索引的使用次数。
确认模块320,适于根据所述各数据表的访问历史记录和对应各数据表的各索引的使用历史记录,确认使用频率小于第一阈值的对应数据表的索引,具体包括:
计算子模块420,适于计算所述索引的使用次数与所述索引对应的数据表的访问次数之间的比值,若所述比值小于第一阈值,则确认使用频率小于第一阈值的对应数据表的索引,则进入判断模块。
判断模块430,适于判断数据库中各数据表的数据量,若所述数据量小于第二阈值,则不对各数据表的各索引进行判断或者删除或者修改;如所述数据量大于等于第二阈值,则进入索引处理模块440。
当然,本发明实施例中,步骤判断模块还可以在获取模块之前或者步骤确认模块之前,本发明并不对其加以限制。
索引处理模块330,适于将所述索引删除或修改、或者通知所述数据表对应的业务方对所述索引进行删除或修改。
本发明实施例,首先,通过根据数据库中各数据表的访问历史记录和对应各数据表的各索引的使用历史记录,确定使用频率小于第一阈值的对应数据表的索引,将索引删除或修改、或者通过数据表对应的业务方对索引进行删除或修改,因此可以针对由于业务方对索引不合理构建导致该索引使用频率低的索引,和/或由于数据表对应的业务变更后导致该原索引使用频率低的索引,对其进行删除或者修改,进而降低索引的存储空间的浪费。
其次,通过判断数据库中各数据表的数据量,将数据量小于第二阈值的索引不进行判断或者删除或者修改,从而缩短了索引查询的时间,进一步的提高了索引的查询效率。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的优化数据库索引的方法和装置设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (10)

1.一种优化数据库索引的方法,其特征在于,包括:
获取对数据库中各数据表的访问历史记录,以及获取对应各数据表的各索引的使用历史记录;
根据所述各数据表的访问历史记录和对应各数据表的各索引的使用历史记录,确认使用频率小于第一阈值的对应数据表的索引;
将所述索引删除或修改、或者通知所述数据表对应的业务方对所述索引进行删除或修改。
2.根据权利要求1所述的方法,其特征在于,所述对数据库中各数据表的访问历史记录包括数据表的访问次数,所述对应各数据表的索引的使用历史记录包括索引的使用次数。
3.根据权利要求2所述的方法,其特征在于,所述根据所述各数据表的访问历史记录和对应各数据表的各索引的使用历史记录,确认使用频率小于阈值的对应数据表的索引,包括:
计算所述索引的使用次数与所述索引对应的数据表的访问次数之间的比值,并判断所述比值是否小于第一阈值;
若所述比值小于第一阈值,则确认使用频率小于第一阈值的对应数据表的索引。
4.根据权利要求2所述的方法,其特征在于,获取对应各数据表的各索引的使用历史记录中的使用次数包括:
通过information schema服务,获取对应各数据表的索引的使用次数。
5.根据权利要求1所述的方法,其特征在于,所述将所述索引删除或修改、或者通知所述数据表对应的业务方对所述索引进行删除或修改之前,还包括:
判断数据库中各数据表的数据量是否小于第二阈值;
若所述数据量小于第二阈值,则不对各数据表的各索引进行判断或者删除或者修改。
6.一种优化数据库索引的装置,其特征在于,包括:
获取模块,适于获取对数据库中各数据表的访问历史记录,以及获取对应各数据表的各索引的使用历史记录;
确认模块,适于根据所述各数据表的访问历史记录和对应各数据表的各索引的使用历史记录,确认使用频率小于第一阈值的对应数据表的索引;
索引处理模块,适于将所述索引删除或修改、或者通知所述数据表对应的业务方对所述索引进行删除或修改。
7.根据权利要求6所述的装置,其特征在于,所述对数据库中各数据表的访问历史记录包括数据表的访问次数,所述对应各数据表的索引的使用历史记录包括索引的使用次数。
8.根据权利要求7所述的装置,其特征在于,所述确定模块包括:
计算子模块,适于计算所述索引的使用次数与所述索引对应的数据表的访问次数之间的比值,并并判断所述比值是否小于第一阈值;若所述比值小于第一阈值,则确认使用频率小于第一阈值的对应数据表的索引。
9.根据权利要求7所述的装置,其特征在于,所述获取模块包括:
索引使用次数获取模块,适于通过information schema服务,获取对应各数据表的索引的使用次数。
10.根据权利要求6所述的装置,其特征在于,在所述索引处理模块之前,还包括:
判断模块,适于判断数据库中各数据表的数据量,若所述数据量小于第二阈值,则不对各数据表的各索引进行判断或者删除或者修改。
CN201510614324.9A 2015-09-23 2015-09-23 优化数据库索引的方法和装置 Pending CN106547805A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510614324.9A CN106547805A (zh) 2015-09-23 2015-09-23 优化数据库索引的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510614324.9A CN106547805A (zh) 2015-09-23 2015-09-23 优化数据库索引的方法和装置

Publications (1)

Publication Number Publication Date
CN106547805A true CN106547805A (zh) 2017-03-29

Family

ID=58364686

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510614324.9A Pending CN106547805A (zh) 2015-09-23 2015-09-23 优化数据库索引的方法和装置

Country Status (1)

Country Link
CN (1) CN106547805A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109241047A (zh) * 2017-07-07 2019-01-18 深圳市辉宏技术有限公司 一种htm数据库的索引建立方法、装置及系统
CN109871463A (zh) * 2019-03-06 2019-06-11 腾讯音乐娱乐科技(深圳)有限公司 音频处理方法、装置、电子设备及存储介质
CN110059081A (zh) * 2019-03-13 2019-07-26 深圳壹账通智能科技有限公司 基于数据展示的数据输出方法、装置及计算机设备
CN112182616A (zh) * 2020-09-29 2021-01-05 江苏大周基业智能科技有限公司 核心表数据的密码技术安全控制方法及系统
CN113703886A (zh) * 2021-07-21 2021-11-26 青岛海尔科技有限公司 用户系统行为监控方法、系统、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102065110A (zh) * 2009-11-12 2011-05-18 钟惠波 一种基于p2sp的客户端软件在线升级的方法和系统
CN103309930A (zh) * 2013-03-13 2013-09-18 四川天翼网络服务有限公司 基于索引服务的历史视频检索与下载方法
CN103823865A (zh) * 2014-02-25 2014-05-28 南京航空航天大学 一种数据库主存索引方法
CN104246728A (zh) * 2012-04-27 2014-12-24 英派尔科技开发有限公司 用于数据库索引的多个可变覆盖率存储器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102065110A (zh) * 2009-11-12 2011-05-18 钟惠波 一种基于p2sp的客户端软件在线升级的方法和系统
CN104246728A (zh) * 2012-04-27 2014-12-24 英派尔科技开发有限公司 用于数据库索引的多个可变覆盖率存储器
CN103309930A (zh) * 2013-03-13 2013-09-18 四川天翼网络服务有限公司 基于索引服务的历史视频检索与下载方法
CN103823865A (zh) * 2014-02-25 2014-05-28 南京航空航天大学 一种数据库主存索引方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
徐冰: "面向海量异构历史数据查询的索引管理系统", 《《中国优秀硕士学位论文全文数据库 信息科技辑》》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109241047A (zh) * 2017-07-07 2019-01-18 深圳市辉宏技术有限公司 一种htm数据库的索引建立方法、装置及系统
CN109871463A (zh) * 2019-03-06 2019-06-11 腾讯音乐娱乐科技(深圳)有限公司 音频处理方法、装置、电子设备及存储介质
CN109871463B (zh) * 2019-03-06 2024-04-09 腾讯音乐娱乐科技(深圳)有限公司 音频处理方法、装置、电子设备及存储介质
CN110059081A (zh) * 2019-03-13 2019-07-26 深圳壹账通智能科技有限公司 基于数据展示的数据输出方法、装置及计算机设备
CN112182616A (zh) * 2020-09-29 2021-01-05 江苏大周基业智能科技有限公司 核心表数据的密码技术安全控制方法及系统
CN113703886A (zh) * 2021-07-21 2021-11-26 青岛海尔科技有限公司 用户系统行为监控方法、系统、电子设备及存储介质
CN113703886B (zh) * 2021-07-21 2023-06-20 青岛海尔科技有限公司 用户系统行为监控方法、系统、电子设备及存储介质

Similar Documents

Publication Publication Date Title
US11288282B2 (en) Distributed database systems and methods with pluggable storage engines
CN107480198B (zh) 一种分布式NewSQL数据库系统和全文检索方法
CN106547805A (zh) 优化数据库索引的方法和装置
CN108133031B (zh) 一种过滤推荐视频候选结果的方法及装置
US20180239800A1 (en) Data query method and apparatus
CN107798038B (zh) 数据响应方法及数据响应设备
US8938456B2 (en) Data recovery system and method in a resource description framework environment
JP2017538200A (ja) 分散環境におけるサービスアドレッシング
CN107203532A (zh) 索引系统的构建方法、搜索的实现方法及装置
CN110825733B (zh) 一种面向多采样流的时间序列数据管理方法及系统
CN105183394A (zh) 一种数据存储处理方法和装置
CN103782295A (zh) 分布式数据管理系统中的查询说明计划
CN104702625A (zh) 一种cdn网络中访问请求调度方法及装置
CN107103068A (zh) 业务缓存的更新方法及装置
CN110647512A (zh) 一种数据存储和分析方法、装置、设备和可读介质
US10360245B2 (en) Attribute value derivation
CN106411639A (zh) 访问数据的监控方法及系统
CN107169009A (zh) 一种分布式存储系统的数据分裂方法及装置
CN111143158A (zh) 一种监控数据实时存储方法、系统、电子设备及存储介质
CN108154024A (zh) 一种数据检索方法、装置及电子设备
CN111563199A (zh) 一种数据处理方法及装置
CN111046081A (zh) 一种工业时序数据的访问方法及系统
US9760836B2 (en) Data typing with probabilistic maps having imbalanced error costs
JP2007317056A (ja) プラント情報処理システム
CN104123307A (zh) 数据加载方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170329