CN104182540B - 数据仓库中的索引统计信息处理方法及装置 - Google Patents

数据仓库中的索引统计信息处理方法及装置 Download PDF

Info

Publication number
CN104182540B
CN104182540B CN201410447228.5A CN201410447228A CN104182540B CN 104182540 B CN104182540 B CN 104182540B CN 201410447228 A CN201410447228 A CN 201410447228A CN 104182540 B CN104182540 B CN 104182540B
Authority
CN
China
Prior art keywords
statistical information
index statistical
index
updated
line number
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.)
Active
Application number
CN201410447228.5A
Other languages
English (en)
Other versions
CN104182540A (zh
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 Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum Technology 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 Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201410447228.5A priority Critical patent/CN104182540B/zh
Publication of CN104182540A publication Critical patent/CN104182540A/zh
Application granted granted Critical
Publication of CN104182540B publication Critical patent/CN104182540B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种数据仓库中的索引统计信息处理方法及装置。该方法包括:获取数据仓库中的索引统计信息;检测该索引统计信息的预估行数,其中,该预估行数是该索引统计信息中成员值总数与该索引统计信息中成员值密度的比值,该成员值总数用于表示成员值的总数量;获取处理时间段内该索引统计信息的数据总数;通过该预估行数与该数据总数的差值,判断该索引统计信息是否需要进行更新;在该索引统计信息需要进行更新的情况下,对该索引统计信息进行更新。通过本发明,解决了由于数据仓库的索引统计信息不能及时更新,造成索引统计信息不准确的问题,达到了让数据仓库的索引统计信息及时进行更新,使索引统计信息更加准确的效果。

Description

数据仓库中的索引统计信息处理方法及装置
技术领域
本发明涉及数据处理领域,具体而言,涉及一种数据仓库中的索引统计信息处理方法及装置。
背景技术
数据仓库是一种通用数据处理系统,可以存储一个应用领域的有关数据的集合。数据仓库中的数据是为众多用户所共享其信息而建立的,已经摆脱了具体程序的限制和制约。不同的用户可以按各自的用法使用数据库中的数据。多个用户可以同时共享数据库中的数据资源,即不同的用户可以同时存取数据库中的同一个数据。数据共享性不仅满足了各用户对信息内容的要求,同时也满足了各用户之间信息通信的要求。
至微软推出SQL Server以来,SQL Server作为一个全面的、集成的、端到端的数据解决方案,它为用户提供一个更安全可靠和高效的平台用于企业数据。SQL Server允许创建有关列中值的分布情况的统计信息。使用这些统计信息并通过估计使用索引评估来确定最佳的执行计划。创建统计信息后,数据仓库引擎对成员值进行排序,并根据这些成员值而创建一个“直方图”。在创建索引为表或视图上的索引创建统计信息。这些统计信息将创建在索引的键列上。如果索引是一个筛选索引,将在为该筛选索引指定的行的同一子集上创建筛选统计信息。
SQL Server里索引统计信息会被应用到执行计划生成的阶段,执行计划生成时,会根据索引统计信息里的统计结果进行预估,若是索引统计信息不准确,会造成预估值与真实值差异很大,从而有可能会得到糟糕的执行计划,现有技术中,虽然SqlServer里有AutoStats的索引统计信息自动更新机制,但其更新在没有满足一定数据时是不会触发更新的,对于数据仓库技术而言,随着每天数据的增量,越到后面越不容易触发数据仓库进行自动更新,另外,即使数据仓库进行自动更新,由于是对索引统计信息抽样进行预估,得到的预估数据也有可能与真实值相差很大。
针对相关技术中数据仓库的索引统计信息不能及时更新,造成预估数据不准确的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种数据仓库中的索引统计信息处理方法及装置,以解决数据仓库的索引统计信息不能及时更新,造成索引统计信息不准确的问题。
为了实现上述目的,根据本发明的一个方面,提供了数据仓库中的索引统计信息处理方法,该方法包括:获取数据仓库中的索引统计信息;检测该索引统计信息的预估行数,其中,该预估行数是该索引统计信息中成员值总数与该索引统计信息中成员值密度的比值,该成员值总数用于表示成员值的总数量;获取处理时间段内该索引统计信息的数据总数,其中,该处理时间段是预先对该索引统计信息进行设置的处理时间周期;通过该预估行数与该数据总数的差值,判断该索引统计信息是否需要进行更新;以及在该索引统计信息需要进行更新的情况下,对该索引统计信息进行更新。
进一步地,检测该索引统计信息的预估行数包括:选取处理时间段中该索引统计信息里的直方图,其中,该处理时间段是预先对该索引统计信息进行设置的处理时间周期;检测该索引统计信息的直方图数据;以及通过该直方图数据,获取该索引统计信息的预估行数。
进一步地,通过该预估行数与该数据总数的差值,判断该索引统计信息是否需要进行更新包括:判断该预估行数与该数据总数的差值是否超过预设阈值;如果该预估行数与该数据总数的差值超过预设阈值,判定该索引统计信息不准确,需要对该索引统计信息进行更新;以及如果该预估行数与该数据总数的差值没有超过预设阈值,判定该索引统计信息准确,不需要对该索引统计信息进行更新。
进一步地,在该索引统计信息需要进行更新的情况下,对该索引统计信息进行更新包括:检测该数据仓库的采样率;通过该采样率对该数据仓库进行采样;将该采样率对该数据仓库进行采样抽取出的统计信息对该索引统计信息进行更新。
进一步地,在该索引统计信息需要进行更新的情况下,对该索引统计信息进行更新之后包括:检测该更新后的索引统计信息的预估行数;获取处理时间段内该更新后的索引统计信息的数据总数;通过该预估行数与该数据总数的差值,判断该更新后的索引统计信息是否需要进行更新;以及在该更新后的索引统计信息需要更新的情况下,按照全扫描的方式对该更新后的索引统计信息进行更新或按照该数据仓库的采样率递增的方式对该更新后的索引统计信息进行更新。
为了实现上述目的,根据本发明的另一方面,提供了一种数据仓库中的索引统计信息处理装置,该装置包括:第一获取单元,用于获取数据仓库中的索引统计信息;检测单元,用于检测该索引统计信息的预估行数,其中,该预估行数是该索引统计信息中成员值总数与该索引统计信息中成员值密度的比值,该成员值总数用于表示成员值的总数量;第二获取单元,用于获取处理时间段内该索引统计信息的数据总数,其中,该处理时间段是预先对该索引统计信息进行设置的处理时间周期;判断单元,用于通过该预估行数与该数据总数的差值,判断该索引统计信息是否需要进行更新;以及更新单元,用于在该索引统计信息需要进行更新的情况下,对该索引统计信息进行更新。
进一步地,检测单元包括:第一获取模块,用于获取处理时间段中该索引统计信息里的直方图,其中,该处理时间段是预先对该索引统计信息进行设置的处理时间周期;第一检测模块,用于检测该索引统计信息的直方图数据;以及第二获取模块,用于根据该直方图数据,获取该索引统计信息的预估行数。
进一步地,判断单元包括:第一判断模块,用于判断该预估行数与该数据总数的差值是否超过预设阈值;第二判断模块,用于在该预估行数与该数据总数的差值超过预设阈值时,判定该索引统计信息不准确,需要对该索引统计信息进行更新;在该预估行数与该数据总数的差值没有超过预设阈值时,判定该索引统计信息准确,不需要对该索引统计信息进行更新。
进一步地,更新单元包括:第二检测模块,用于检测该数据仓库的采样率;采样模块,用于通过该采样率对该数据仓库进行采样;第一更新模块,用于将该采样率对该数据仓库进行采样抽取出的统计信息对该索引统计信息进行更新。
进一步地,更新单元包括:第三检测模块,用于检测该更新后的索引统计信息的预估行数;第三获取模块,用于获取处理时间段内该更新后的索引统计信息的数据总数;第三判断模块,用于通过该预估行数与该数据总数的差值,判断该更新后的索引统计信息是否需要进行更新;以及第二更新模块,用于在该更新后的索引统计信息需要更新的情况下,按照全扫描的方式对该更新后的索引统计信息进行更新或按照该数据仓库的采样率递增的方式对该更新后的索引统计信息进行更新。
通过本发明提供的数据仓库中的索引统计信息处理方法,采用获取数据仓库中的索引统计信息;检测该索引统计信息的预估行数;获取处理时间段内该索引统计信息的数据总数;通过该预估行数与该数据总数的差值,判断该索引统计信息是否需要进行更新;以及在该索引统计信息需要进行更新的情况下,对该索引统计信息进行更新,解决了由于数据仓库的索引统计信息不能及时更新,造成索引统计信息不准确的问题,达到了让数据仓库的索引统计信息及时进行更新,使索引统计信息更加准确的效果。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明的数据仓库中的索引统计信息处理方法的第一实施例的流程图;
图2是根据本发明的数据仓库中的索引统计信息处理方法的第二实施例的流程图;
图3是根据本发明的数据仓库中的索引统计信息处理方法的第三实施例的流程图;
图4是根据本发明的数据仓库中的索引统计信息处理方法的第四实施例的流程图;
图5是根据本发明的数据仓库中的索引统计信息处理方法的第五实施例的流程图;
图6是根据本发明的数据仓库中的索引统计信息处理装置的第一实施例的示意图;
图7是根据本发明的数据仓库中的索引统计信息处理装置的第二实施例的示意图;
图8是根据本发明的数据仓库中的索引统计信息处理装置的第三实施例的示意图;
图9是根据本发明的数据仓库中的索引统计信息处理装置的第四实施例的示意图;以及
图10是根据本发明的数据仓库中的索引统计信息处理装置的第五实施例的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
图1是根据本发明的数据仓库中的索引统计信息处理方法的第一实施例的流程图。如图1所示,该数据仓库中的索引统计信息处理方法包括:
步骤S101,获取数据仓库中的索引统计信息。
数据仓库,英文名称Data Warehouse,简称DW或DWH,数据仓库是为企业所有级别的决策制度过程提高支持的所有类型数据的战略。它是单个数据存储,成语分析性报告和决策支持的目的而创建,为企业提供需要业务智能来知道业务流程改进和监督时间、成本、质量和控制。
索引统计信息是在数据仓库创建有关列中值的分布情况的统计信息。创建统计信息后,数据库引擎对列值进行排序,并根据这些值创建一个“直方图”。直方图指定有多少行精确匹配每个间隔值,有多少行在间隔范围内,以及间隔中值的密度大小或重复值的发生率。
获取数据仓库中的用户关注的索引统计信息,即取出数据仓库中用户关注的一部分索引统计信息进行处理。这样可以更快的判断出索引统计信息是否准确、是否需要更新。
步骤S102,检测索引统计信息的预估行数,其中,预估行数是索引统计信息中成员值总数与索引统计信息中成员值密度的比值,成员值总数用于表示成员值的总数量。
在数据仓库中,预估行数是索引统计信息中成员值总数与索引统计信息中成员值密度的比值。例如,在取10行索引统计信息,在这10行索引统计信息种有3个唯一值,唯一值即为索引统计信息中成员值中互不相同的值。那么成员值密度为0.3。如果知道成员值密度和成员值总数,即可以计算出预估行数,再检测出索引统计信息的预估行数。
步骤S103,获取处理时间段内索引统计信息的数据总数,其中,处理时间段是预先对索引统计信息进行设置的处理时间周期。
设置对索引统计信息的处理周期,在数据仓库中获取处理周期内的索引统计信息。例如,如数据仓库里e_session会话表,要检测其聚簇索引,假设发现其统计信息里不存在本批次所处理时间段内的数据,那么我们会发起一个查询,统计一下处理时间段内在E_Session表里是否真的没有数据,如果是有数据的,则证明统计信息是不准确的,需要做更新操作,这里所发起的查询即为查询,其Sql语句举例如下:SELECT COUNT(*)FROM E_Session WHERE updatetime BETWEEN@ProcessBeginTime AND@ProcessEndTime。Sql语句意义为:选取数据进入E_Session表的时间(updatetime)在时间段(ProcessBeginTime到ProcessEndTime之间)一共有多少数据记录。获取数据进入E_Session表的时间(updatetime)在时间段(ProcessBeginTime到ProcessEndTime之间)内索引统计信息的数据总数。
步骤S104,通过预估行数与数据总数的差值,判断索引统计信息是否需要进行更新。
将预估行数与处理时间段内索引统计信息的数据总数进行比较,得到一个差值,判断此差值是否在预设阈值内,如果此差值在预设阈值内,则说明索引统计信息准确,索引统计信息不需要进行更新。如果此差值不在预设阈值内,则说明索引统计信息不准确,索引统计信息需要进行更新。对数据仓库中的索引统计信息,差值在一个量级范围内,就算差异不大。例如,预估行数是100,处理时间段内索引统计信息的数据总数是1000000000,则此差异很大,说明索引统计信息需要进行更新。如果预估行数是2000000000,处理时间段内索引统计信息的数据总数是3000000000,在一个量级范围内,差异不大,说明索引统计信息不需要进行更新。通过比较将预估行数与处理时间段内索引统计信息的数据总数差值,及时判断出索引统计信息是否准确,是否需要更新。
步骤S105,在索引统计信息需要进行更新的情况下,对索引统计信息进行更新。
通过预估行数与处理时间段内索引统计信息的数据总数的比较,在判定索引统计信息需要进行更新的情况下,对索引统计信息进行更新。常见对索引统计信息更新方式有全扫描方式,即对数据仓库进行一次全扫描,对整个数据仓库中数据进行更新,从而达到了对索引统计信息的更新。但耗时长,占用内存大。根据采样率对数据仓库进行更新,即在数据仓库中,根据采样率对数据仓库进行采样,得到抽样出来的统计信息,将抽样出来的统计信息对索引统计信息进行更新。例如,采样率为1%,抽取数据仓库中1%的统计信息,将这1%的统计信息对索引统计信息进行更新。如果索引统计信息仍然不准确,取采样率为10%对数据仓库进行抽样,将这10%的统计信息对索引统计信息再进行更新。循环更新并检测,知道检测到索引统计信息准确不需要更新为止。
通过本发明提供的数据仓库中的索引统计信息处理方法,采用获取数据仓库中的索引统计信息;检测该索引统计信息的预估行数,其中,该预估行数是该索引统计信息中成员值总数与该索引统计信息中成员值密度的比值,该成员值总数用于表示成员值的总数量;获取处理时间段内该索引统计信息的数据总数,其中,该处理时间段是预先对该索引统计信息进行设置的处理时间周期;通过该预估行数与该数据总数的差值,判断该索引统计信息是否需要进行更新;以及在该索引统计信息需要进行更新的情况下,对该索引统计信息进行更新。解决了由于数据仓库的索引统计信息不能及时更新,造成索引统计信息不准确的问题,达到了让数据仓库的索引统计信息及时进行更新,使索引统计信息更加准确的效果。
图2是根据本发明的数据仓库中的索引统计信息处理方法的第二实施例的流程图。如图2所示,该数据仓库中的索引统计信息处理方法包括:
步骤S201,获取数据仓库中的索引统计信息。
该步骤同上述步骤S101。
步骤S202,选取处理时间段中索引统计信息里的直方图,其中,处理时间段是预先对索引统计信息进行设置的处理时间周期。
设置对索引统计信息的处理周期,选取处理时间段中索引统计信息里的直方图,即是在数据仓库中获取处理时间段中索引统计信息成员值的数据。
步骤S203,检测索引统计信息的直方图数据。
步骤S204,通过直方图数据,获取索引统计信息的预估行数。
在数据仓库中,通过获取的直方图的数据,确定统计信息成员值的密度和统计信息的成员值总数,通过统计信息的成员值总数与统计信息成员值的密度的比值得到索引统计信息的预估行数。
步骤S205,获取处理时间段内索引统计信息的数据总数,其中,处理时间段是预先对索引统计信息进行设置的处理时间周期。
该步骤同上述步骤S103。
步骤S206,通过预估行数与数据总数的差值,判断索引统计信息是否需要进行更新。
该步骤同上述步骤S104。
步骤S207,在索引统计信息需要进行更新的情况下,对索引统计信息进行更新。
该步骤同上述步骤S105。
通过本发明提供的数据仓库中的索引统计信息处理方法,采用了获取数据仓库中的索引统计信息;选取处理时间段中索引统计信息里的直方图,其中,处理时间段是预先对索引统计信息进行设置的处理时间周期;检测索引统计信息的直方图数据;通过直方图数据,获取索引统计信息的预估行数;获取处理时间段内索引统计信息的数据总数,其中,处理时间段是预先对索引统计信息进行设置的处理时间周期;通过预估行数与数据总数的差值,判断索引统计信息是否需要进行更新。在索引统计信息需要进行更新的情况下,对索引统计信息进行更新。解决了由于数据仓库的索引统计信息不能及时更新,造成索引统计信息不准确的问题,达到了让数据仓库的索引统计信息及时进行更新,使索引统计信息更加准确的效果。
图3是根据本发明的数据仓库中的索引统计信息处理方法的第三实施例的流程图。如图3所示,该数据仓库中的索引统计信息处理方法包括:
步骤S301,获取数据仓库中的索引统计信息。
该步骤同上述步骤S101。
步骤S302,检测索引统计信息的预估行数,其中,预估行数是索引统计信息中成员值总数与索引统计信息中成员值密度的比值,成员值总数用于表示成员值的总数量。
该步骤同上述步骤S102。
步骤S303,获取处理时间段内索引统计信息的数据总数,其中,处理时间段是预先对索引统计信息进行设置的处理时间周期。
该步骤同上述步骤S103。
步骤S304,判断预估行数与数据总数的差值是否超过预设阈值。
步骤S305,如果预估行数与数据总数的差值超过预设阈值,判定索引统计信息不准确,需要对索引统计信息进行更新。
在数据仓库中,预估行数与处理时间段内索引统计信息的数据总数的差值超过预设阈值,在此的预设阈值是指预先设定的一个数据量级。在此判断差值就是判断预估行数与处理时间段内索引统计信息的数据总数是否在一个量级上。如预估行数为十万,处理时间段内索引统计信息的数据总数为百万,不都在一个量级上,则说明差值大。判定索引统计信息不准确,需要对索引统计信息进行更新。如预估行数与处理时间段内索引统计信息的数据总数都在十万量级或百万量级,都在一个量级上,则说明差值不大。判定索引统计信息准确,不需要对索引统计信息进行更新。
步骤S306,在索引统计信息需要进行更新的情况下,对索引统计信息进行更新。
该步骤同上述步骤S105。
通过本发明提供的数据仓库中的索引统计信息处理方法,采用了获取数据仓库中的索引统计信息;检测索引统计信息的预估行数,其中,预估行数是索引统计信息中成员值总数与索引统计信息中成员值密度的比值,成员值总数用于表示成员值的总数量;获取处理时间段内索引统计信息的数据总数,其中,处理时间段是预先对索引统计信息进行设置的处理时间周期;判断预估行数与数据总数的差值是否超过预设阈值;如果预估行数与数据总数的差值超过预设阈值,判定索引统计信息不准确,需要对索引统计信息进行更新;如果预估行数与数据总数的差值没有超过预设阈值,判定索引统计信息准确,不需要对索引统计信息进行更新。在索引统计信息需要进行更新的情况下,对索引统计信息进行更新。解决了由于数据仓库的索引统计信息不能及时更新,造成索引统计信息不准确的问题,达到了让数据仓库的索引统计信息及时进行更新,使索引统计信息更加准确的效果。
图4是根据本发明的数据仓库中的索引统计信息处理方法的第四实施例的流程图。如图4所示,该数据仓库中的索引统计信息处理方法包括:
步骤S401,获取数据仓库中的索引统计信息。
该步骤同上述步骤S101。
步骤S402,检测索引统计信息的预估行数,其中,预估行数是索引统计信息中成员值总数与索引统计信息中成员值密度的比值,成员值总数用于表示成员值的总数量。
该步骤同上述步骤S102。
步骤S403,获取处理时间段内索引统计信息的数据总数,其中,处理时间段是预先对索引统计信息进行设置的处理时间周期。
该步骤同上述步骤S103。
步骤S404,通过预估行数与数据总数的差值,判断索引统计信息是否需要进行更新。
该步骤同上述步骤S101。
步骤S405,检测数据仓库的采样率。
在数据仓库中,采样率是对数据仓库采样的百分比。检测出数据仓库中预先设置的采样率。如果数据仓库没有预先设置采样率,即检测出数据仓库中默认的采样率。
步骤S406,通过采样率对数据仓库进行采样。
通过数据仓库中预先设置的采样率或数据仓库中默认的采样率对数据仓库进行采样。例如,采样率为10%,即对数据仓库中的统计信息按照采样率为10%进行采样。
步骤S407,将采样率对数据仓库进行采样抽取出的统计信息对索引统计信息进行更新。
通过采样率对数据仓库进行采样后,得到采样抽取出的统计信息,将采样抽取出的统计信息对不准确的索引统计信息进行更新。这样实现了对数据仓库的索引统计信息及时进行更新,使统计信息更加准确。
通过本发明提供的数据仓库中的索引统计信息处理方法,采用了获取数据仓库中的索引统计信息;检测索引统计信息的预估行数,其中,预估行数是索引统计信息中成员值总数与索引统计信息中成员值密度的比值,成员值总数用于表示成员值的总数量;获取处理时间段内索引统计信息的数据总数,其中,处理时间段是预先对索引统计信息进行设置的处理时间周期;通过预估行数与数据总数的差值,判断索引统计信息是否需要进行更新;检测数据仓库的采样率。通过采样率对数据仓库进行采样;将采样率对数据仓库进行采样抽取出的统计信息对索引统计信息进行更新。解决了由于数据仓库的索引统计信息不能及时更新,造成索引统计信息不准确的问题,达到了让数据仓库的索引统计信息及时进行更新,使索引统计信息更加准确的效果。
图5是根据本发明的数据仓库中的索引统计信息处理方法的第五实施例的流程图。如图5所示,该数据仓库中的索引统计信息处理方法包括:
步骤S501,获取数据仓库中的索引统计信息。
该步骤同上述步骤S101。
步骤S502,检测索引统计信息的预估行数,其中,预估行数是索引统计信息中成员值总数与索引统计信息中成员值密度的比值,成员值总数用于表示成员值的总数量。
该步骤同上述步骤S102。
步骤S503,获取处理时间段内索引统计信息的数据总数,其中,处理时间段是预先对索引统计信息进行设置的处理时间周期。
该步骤同上述步骤S103。
步骤S504,通过预估行数与数据总数的差值,判断索引统计信息是否需要进行更新。
该步骤同上述步骤S104。
步骤S505,在索引统计信息需要进行更新的情况下,对索引统计信息进行更新。
该步骤同上述步骤S105。
步骤S506,检测更新后的索引统计信息的预估行数。
步骤S507,获取处理时间段内更新后的索引统计信息的数据总数。
步骤S508,通过预估行数与数据总数的差值,判断更新后的索引统计信息是否需要进行更新。
步骤S509,在更新后的索引统计信息需要更新的情况下,按照全扫描的方式对更新后的索引统计信息进行更新或按照数据仓库的采样率递增的方式对更新后的索引统计信息进行更新。
在更新后的索引统计信息需要更新的情况下,按照全扫描或采样率递增的方式索引统计信息进行更新。全扫描方式是对整个数据仓库进行扫描更新。采样率递增的方式如第一次采样率取10%对数据仓库进行更新,结果检测索引统计信息仍然不准确,第二次即采样率取20%对数据仓库进行更新,继续检测索引统计信息是否准确。这样循环检测索引统计信息是否准确,是否需要更新,在需要更新的情况下,采取不同方式对索引统计信息进行更新。实现了及时对数据仓库的索引统计信息进行更新,保证了统计信息的准确性。
通过本发明提供的数据仓库中的索引统计信息处理方法,采用了获取数据仓库中的索引统计信息;检测索引统计信息的预估行数,其中,预估行数是索引统计信息中成员值总数与索引统计信息中成员值密度的比值,成员值总数用于表示成员值的总数量;获取处理时间段内索引统计信息的数据总数,其中,处理时间段是预先对索引统计信息进行设置的处理时间周期;通过预估行数与数据总数的差值,判断索引统计信息是否需要进行更新;在索引统计信息需要进行更新的情况下,对索引统计信息进行更新;检测更新后的索引统计信息的预估行数;获取处理时间段内更新后的索引统计信息的数据总数;通过预估行数与数据总数的差值,判断更新后的索引统计信息是否需要进行更新。解决了由于数据仓库的索引统计信息不能及时更新,造成索引统计信息不准确的问题,达到了让数据仓库的索引统计信息及时进行更新,使索引统计信息更加准确的效果。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图6是根据本发明的数据仓库中的索引统计信息处理装置的第一实施例的示意图。如图6所示,该数据仓库中的索引统计信息处理装置包括:第一获取单元10,检测单元20,第二获取单元30,判断单元40和更新单元50。
第一获取单元10,用于获取数据仓库中的索引统计信息。
检测单元20,用于检测索引统计信息的预估行数,其中,预估行数是索引统计信息中成员值总数与索引统计信息中成员值密度的比值,成员值总数用于表示成员值的总数量。
第二获取单元30,用于获取处理时间段内索引统计信息的数据总数,其中,处理时间段是预先对索引统计信息进行设置的处理时间周期。
判断单元40,用于通过预估行数与数据总数的差值,判断索引统计信息是否需要进行更新。
更新单元50,用于在索引统计信息需要进行更新的情况下,对索引统计信息进行更新。
通过本发明提供的数据仓库中的索引统计信息处理装置,该装置包括:第一获取单元10,用于获取数据仓库中的索引统计信息;检测单元20,用于检测索引统计信息的预估行数,其中,预估行数是索引统计信息中成员值总数与索引统计信息中成员值密度的比值,成员值总数用于表示成员值的总数量;第二获取单元30,用于获取处理时间段内索引统计信息的数据总数,其中,处理时间段是预先对索引统计信息进行设置的处理时间周期;判断单元40,用于根据预估行数与数据总数的差值,判断索引统计信息是否需要进行更新;更新单元50,用于在索引统计信息需要进行更新的情况下,对索引统计信息进行更新。解决了由于数据仓库的索引统计信息不能及时更新,造成索引统计信息不准确的问题,达到了让数据仓库的索引统计信息及时进行更新,使索引统计信息更加准确的效果。
图7是根据本发明的数据仓库中的索引统计信息处理装置的第二实施例的示意图。如图7所示,该数据仓库中的索引统计信息处理装置包括:第一获取单元10,检测单元20,第二获取单元30,判断单元40和更新单元50。其中检测单元20包括:第一获取模块201、第一检测模块202和第二获取模块203。
第一获取单元10,检测单元20,第二获取单元30,判断单元40和更新单元50的作用与上述实施例中作用相同,在此不再赘述。
第一获取模块201,用于获取处理时间段中索引统计信息里的直方图,其中,处理时间段是预先对索引统计信息进行设置的处理时间周期。
第一检测模块202,用于检测索引统计信息的直方图数据。
第二获取模块203,用于根据直方图数据,获取索引统计信息的预估行数。
图8是根据本发明的数据仓库中的索引统计信息处理装置的第三实施例的示意图。如图8所示,该数据仓库中的索引统计信息处理装置包括:第一获取单元10,检测单元20,第二获取单元30,判断单元40和更新单元50。其中判断单元40包括:第一判断模块401和第二判断模块402。
第一获取单元10,检测单元20,第二获取单元30,判断单元40和更新单元50的作用与上述实施例中作用相同,在此不再赘述。
第一判断模块401,用于判断预估行数与数据总数的差值是否超过预设阈值。
第二判断模块402,用于在预估行数与数据总数的差值超过预设阈值时,判定索引统计信息不准确,需要对索引统计信息进行更新。在预估行数与数据总数的差值没有超过预设阈值时,判定索引统计信息准确,不需要对索引统计信息进行更新。
图9是根据本发明的数据仓库中的索引统计信息处理装置的第四实施例的示意图。如图9所示,该数据仓库中的索引统计信息处理装置包括:第一获取单元10,检测单元20,第二获取单元30,判断单元40和更新单元50。其中更新单元50包括:第二检测模块501、采样模块502和第一更新模块503。
第一获取单元10,检测单元20,第二获取单元30,判断单元40和更新单元50的作用与上述实施例中作用相同,在此不再赘述。
第二检测模块501,用于检测数据仓库的采样率。
采样模块502,用于通过采样率对数据仓库进行采样。
第一更新模块503,用于将采样率对数据仓库进行采样抽取出的统计信息对索引统计信息进行更新。
图10是根据本发明的数据仓库中的索引统计信息处理装置的第五实施例的示意图。如图10所示,该数据仓库中的索引统计信息处理装置包括:第一获取单元10,检测单元20,第二获取单元30,判断单元40和更新单元50。其中更新单元50包括:第三检测模块504、第三获取模块505、第三判断模块506和第二更新模块507。
第一获取单元10,检测单元20,第二获取单元30,判断单元40和更新单元50的作用与上述实施例中作用相同,在此不再赘述。
第三检测模块504,用于检测更新后的索引统计信息的预估行数。
第三获取模块505,用于获取处理时间段内更新后的索引统计信息的数据总数。
第三判断模块506,用于通过预估行数与数据总数的差值,判断更新后的索引统计信息是否需要进行更新。
第二更新模块507,用于在更新后的索引统计信息需要更新的情况下,按照全扫描的方式对更新后的索引统计信息进行更新或按照数据仓库的采样率递增的方式对更新后的索引统计信息进行更新。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种数据仓库中的索引统计信息处理方法,其特征在于,包括:
获取数据仓库中的索引统计信息;
检测所述索引统计信息的预估行数,其中,所述预估行数是所述索引统计信息中成员值总数与所述索引统计信息中成员值密度的比值,所述成员值总数用于表示成员值的总数量;
获取处理时间段内所述索引统计信息的数据总数,其中,所述处理时间段是预先对所述索引统计信息进行设置的处理时间周期;
通过所述预估行数与所述数据总数的差值,判断所述索引统计信息是否需要进行更新;以及
在所述索引统计信息需要进行更新的情况下,对所述索引统计信息进行更新;
在所述索引统计信息需要进行更新的情况下,对所述索引统计信息进行更新包括:
检测所述数据仓库的采样率;
通过所述采样率对所述数据仓库进行采样;以及
将所述采样率对所述数据仓库进行采样抽取出的统计信息对所述索引统计信息进行更新。
2.根据权利要求1所述的方法,其特征在于,检测所述索引统计信息的预估行数包括:
选取处理时间段中所述索引统计信息里的直方图,其中,所述处理时间段是预先对所述索引统计信息进行设置的处理时间周期;
检测所述索引统计信息的直方图数据;以及
通过所述直方图数据,获取所述索引统计信息的预估行数。
3.根据权利要求1所述的方法,其特征在于,通过所述预估行数与所述数据总数的差值,判断所述索引统计信息是否需要进行更新包括:
判断所述预估行数与所述数据总数的差值是否超过预设阈值;
如果所述预估行数与所述数据总数的差值超过预设阈值,判定所述索引统计信息不准确,需要对所述索引统计信息进行更新;以及
如果所述预估行数与所述数据总数的差值没有超过预设阈值,判定所述索引统计信息准确,不需要对所述索引统计信息进行更新。
4.根据权利要求1所述的方法,其特征在于,在所述索引统计信息需要进行更新的情况下,对所述索引统计信息进行更新之后包括:
检测更新后的所述索引统计信息的预估行数;
获取处理时间段内更新后的所述索引统计信息的数据总数;
通过所述预估行数与所述数据总数的差值,判断更新后的所述索引统计信息是否需要进行更新;以及
在更新后的所述索引统计信息需要更新的情况下,按照全扫描的方式对更新后的所述索引统计信息进行更新或按照所述数据仓库的采样率递增的方式对更新后的所述索引统计信息进行更新。
5.一种数据仓库中的索引统计信息处理装置,其特征在于,包括:
第一获取单元,用于获取数据仓库中的索引统计信息;
检测单元,用于检测所述索引统计信息的预估行数,其中,所述预估行数是所述索引统计信息中成员值总数与所述索引统计信息中成员值密度的比值,所述成员值总数用于表示成员值的总数量;
第二获取单元,用于获取处理时间段内所述索引统计信息的数据总数,其中,所述处理时间段是预先对所述索引统计信息进行设置的处理时间周期;
判断单元,用于通过所述预估行数与所述数据总数的差值,判断所述索引统计信息是否需要进行更新;以及
更新单元,用于在所述索引统计信息需要进行更新的情况下,对所述索引统计信息进行更新;
所述更新单元包括:
第二检测模块,用于检测所述数据仓库的采样率;
采样模块,用于通过所述采样率对所述数据仓库进行采样;
第一更新模块,用于将所述采样率对所述数据仓库进行采样抽取出的统计信息对所述索引统计信息进行更新。
6.根据权利要求5所述的装置,其特征在于,检测单元包括:
第一获取模块,用于获取处理时间段中所述索引统计信息里的直方图,其中,所述处理时间段是预先对所述索引统计信息进行设置的处理时间周期;
第一检测模块,用于检测所述索引统计信息的直方图数据;以及
第二获取模块,用于根据所述直方图数据,获取所述索引统计信息的预估行数。
7.根据权利要求5所述的装置,其特征在于,判断单元包括:
第一判断模块,用于判断所述预估行数与所述数据总数的差值是否超过预设阈值;
第二判断模块,用于在所述预估行数与所述数据总数的差值超过预设阈值时,判定所述索引统计信息不准确,需要对所述索引统计信息进行更新;在所述预估行数与所述数据总数的差值没有超过预设阈值时,判定所述索引统计信息准确,不需要对所述索引统计信息进行更新。
8.根据权利要求5所述的装置,其特征在于,更新单元包括:
第三检测模块,用于检测更新后的所述索引统计信息的预估行数;
第三获取模块,用于获取处理时间段内更新后的所述索引统计信息的数据总数;
第三判断模块,用于通过所述预估行数与所述数据总数的差值,判断更新后的所述索引统计信息是否需要进行更新;以及
第二更新模块,用于在更新后的所述索引统计信息需要更新的情况下,按照全扫描的方式对更新后的所述索引统计信息进行更新或按照所述数据仓库的采样率递增的方式对更新后的所述索引统计信息进行更新。
CN201410447228.5A 2014-09-03 2014-09-03 数据仓库中的索引统计信息处理方法及装置 Active CN104182540B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410447228.5A CN104182540B (zh) 2014-09-03 2014-09-03 数据仓库中的索引统计信息处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410447228.5A CN104182540B (zh) 2014-09-03 2014-09-03 数据仓库中的索引统计信息处理方法及装置

Publications (2)

Publication Number Publication Date
CN104182540A CN104182540A (zh) 2014-12-03
CN104182540B true CN104182540B (zh) 2017-10-27

Family

ID=51963579

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410447228.5A Active CN104182540B (zh) 2014-09-03 2014-09-03 数据仓库中的索引统计信息处理方法及装置

Country Status (1)

Country Link
CN (1) CN104182540B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107169095A (zh) * 2017-05-12 2017-09-15 郑州云海信息技术有限公司 一种db2数据库表统计信息收集方法及系统
CN111190897B (zh) * 2019-11-07 2023-04-18 腾讯科技(深圳)有限公司 信息处理方法、装置、存储介质及服务器

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004001555A2 (en) * 2002-06-25 2003-12-31 International Business Machines Corporation Method and system for monitoring performance of application in a distributed environment
CN101105802A (zh) * 2007-06-08 2008-01-16 北京神舟航天软件技术有限公司 用基于小波的压缩直方图实现二维谓词选择率估计的方法
CN102063449A (zh) * 2009-11-12 2011-05-18 中国移动通信集团浙江有限公司 提高数据库中数据对象统计信息可靠性的方法及装置
CN102262636A (zh) * 2010-05-25 2011-11-30 中国移动通信集团浙江有限公司 生成数据库分区执行计划的方法及装置
CN102436494A (zh) * 2011-11-11 2012-05-02 中国工商银行股份有限公司 基于实践检验的执行计划优化的装置及方法
EP2490135A1 (en) * 2011-02-21 2012-08-22 Amadeus S.A.S. Method and system for providing statistical data from a data warehouse
CN102930003A (zh) * 2012-10-24 2013-02-13 浙江图讯科技有限公司 一种用于优化数据库查询计划的系统及其方法
CN103390038A (zh) * 2013-07-16 2013-11-13 西安交通大学 一种基于HBase的构建和检索增量索引的方法
CN103984726A (zh) * 2014-05-16 2014-08-13 上海新炬网络技术有限公司 一种数据库执行计划的局部修正方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004001555A2 (en) * 2002-06-25 2003-12-31 International Business Machines Corporation Method and system for monitoring performance of application in a distributed environment
CN101105802A (zh) * 2007-06-08 2008-01-16 北京神舟航天软件技术有限公司 用基于小波的压缩直方图实现二维谓词选择率估计的方法
CN102063449A (zh) * 2009-11-12 2011-05-18 中国移动通信集团浙江有限公司 提高数据库中数据对象统计信息可靠性的方法及装置
CN102262636A (zh) * 2010-05-25 2011-11-30 中国移动通信集团浙江有限公司 生成数据库分区执行计划的方法及装置
EP2490135A1 (en) * 2011-02-21 2012-08-22 Amadeus S.A.S. Method and system for providing statistical data from a data warehouse
CN102436494A (zh) * 2011-11-11 2012-05-02 中国工商银行股份有限公司 基于实践检验的执行计划优化的装置及方法
CN102930003A (zh) * 2012-10-24 2013-02-13 浙江图讯科技有限公司 一种用于优化数据库查询计划的系统及其方法
CN103390038A (zh) * 2013-07-16 2013-11-13 西安交通大学 一种基于HBase的构建和检索增量索引的方法
CN103984726A (zh) * 2014-05-16 2014-08-13 上海新炬网络技术有限公司 一种数据库执行计划的局部修正方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ORACLE 11G中Dynamic Sampling自动调节(Auto-Adjusted)机制;realkid4;《blog.itpub.net/17203031/viewspace-1082739》;20140217;参见正文第2-3、7页 *

Also Published As

Publication number Publication date
CN104182540A (zh) 2014-12-03

Similar Documents

Publication Publication Date Title
Fortin et al. Generalizing the improved run-time complexity algorithm for non-dominated sorting
Hekker et al. Solar-like oscillations in red giants observed with Kepler: influence of increased timespan on global oscillation parameters
EP4198775A1 (en) Abnormal user auditing method and apparatus, electronic device, and storage medium
CN111294819B (zh) 一种网络优化方法及装置
CN107547266B (zh) 在线量异常点的检测方法和装置、计算机设备和存储介质
CN104182540B (zh) 数据仓库中的索引统计信息处理方法及装置
CN106453320A (zh) 恶意样本的识别方法及装置
CN111125222B (zh) 一种数据测试方法及装置
Choudhury et al. An unreliable server retrial queue with two phases of service and general retrial times under Bernoulli vacation schedule
Correa et al. A critical look at prospective surveillance using a scan statistic
CN104486353B (zh) 一种基于流量的安全事件检测方法及装置
CN112347100B (zh) 数据库索引优化方法、装置、计算机设备和存储介质
CN113901441A (zh) 一种用户异常请求检测方法、装置、设备及存储介质
CN109933575A (zh) 监测数据的存储方法及装置
Feller et al. Optimal designs for dose response curves with common parameters
CN109189840A (zh) 一种流式在线日志解析方法
CN104217032A (zh) 数据库维度的处理方法及装置
US6662065B2 (en) Method of monitoring manufacturing apparatus
CN106469166A (zh) 一种信息处理方法及装置
CN115344627A (zh) 数据筛选方法、装置、电子设备及存储介质
CN112435151A (zh) 一种基于关联分析的政务信息数据处理方法及系统
CN112183972A (zh) 航班延误分析方法及装置、处理器、电子装置
CN113010310A (zh) 作业数据的处理方法、装置和服务器
CN116860909B (zh) 基于生化知识图谱的数据存储方法、系统及存储介质
CN116149933B (zh) 一种异常日志数据确定方法、装置、设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Index statistics information processing method and device in data warehouse

Effective date of registration: 20190531

Granted publication date: 20171027

Pledgee: Shenzhen Black Horse World Investment Consulting Co., Ltd.

Pledgor: Beijing Guoshuang Technology Co.,Ltd.

Registration number: 2019990000503

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing

Patentee after: Beijing Guoshuang Technology Co.,Ltd.

Address before: 100086 Beijing city Haidian District Shuangyushu Area No. 76 Zhichun Road cuigongfandian 8 layer A

Patentee before: Beijing Guoshuang Technology Co.,Ltd.