CN117573798A - 数据库索引推荐方法及装置 - Google Patents
数据库索引推荐方法及装置 Download PDFInfo
- Publication number
- CN117573798A CN117573798A CN202311551306.1A CN202311551306A CN117573798A CN 117573798 A CN117573798 A CN 117573798A CN 202311551306 A CN202311551306 A CN 202311551306A CN 117573798 A CN117573798 A CN 117573798A
- Authority
- CN
- China
- Prior art keywords
- sql
- field information
- text
- determining
- recommendation
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000004590 computer program Methods 0.000 claims description 27
- 239000006185 dispersion Substances 0.000 claims description 15
- 238000004458 analytical method Methods 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了数据库索引推荐方法及装置,方法包括:从日志中提取已经执行过的多条结构化查询语言SQL文本、SQL平均执行时长及每条SQL文本对应的SQL执行频率;根据SQL平均执行时长及每条SQL文本对应的SQL执行频率确定各个SQL文本的业务权重;解析SQL文本,提取SQL语句where条件中的字段信息;根据各个SQL文本的业务权重及提取的字段信息计算各个字段信息的业务权重和;根据各个字段信息的业务权重和确定各个字段信息对应的推荐值;根据各个字段信息对应的推荐值进行索引推荐,本发明实现对数据库SQL进行快速分析判断,提高了数据库索引推荐的准确性及效率,针对数据库实现了最优的索引创建。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及数据库索引推荐方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
现有的数据库索引推荐方法一般基于人工判断或者针对单条SQL进行索引推荐,单条SQL推荐出来的索引可能影响到其他SQL的效率。由于索引的维护需要消耗大量的计算和存储成本,针对单条SQL的索引推荐方式,没有考虑到这条SQL的业务特性及新建索引对数据库的全局影响,会产生过多的索引,带来额外的维护成本。这种方法准确性不高,效率较低。
发明内容
本发明实施例提供一种数据库索引推荐方法,用以提高数据库索引推荐的准确性及效率,该方法包括:
从日志中提取已经执行过的多条结构化查询语言SQL文本、SQL平均执行时长及每条SQL文本对应的SQL执行频率;
根据SQL平均执行时长及每条SQL文本对应的SQL执行频率确定各个SQL文本的业务权重;
解析SQL文本,提取SQL语句where条件中的字段信息;
根据各个SQL文本的业务权重及提取的字段信息计算各个字段信息的业务权重和;
根据各个字段信息的业务权重和确定各个字段信息对应的推荐值;
根据各个字段信息对应的推荐值进行索引推荐。
本发明实施例还提供一种数据库索引推荐装置,用以提高数据库索引推荐的准确性及效率,该装置包括:
解析模块,用于从日志中提取已经执行过的多条结构化查询语言SQL文本、SQL平均执行时长及每条SQL文本对应的SQL执行频率;根据SQL平均执行时长及每条SQL文本对应的SQL执行频率确定各个SQL文本的业务权重;解析SQL文本,提取SQL语句where条件中的字段信息;
推荐模块,根据各个SQL文本的业务权重及提取的字段信息计算各个字段信息的业务权重和;根据各个字段信息的业务权重和确定各个字段信息对应的推荐值;根据各个字段信息对应的推荐值进行索引推荐。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据库索引推荐方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述数据库索引推荐方法。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述数据库索引推荐方法。
本发明实施例中,从日志中提取已经执行过的多条结构化查询语言SQL文本、SQL平均执行时长及每条SQL文本对应的SQL执行频率;根据SQL平均执行时长及每条SQL文本对应的SQL执行频率确定各个SQL文本的业务权重;解析SQL文本,提取SQL语句where条件中的字段信息;根据各个SQL文本的业务权重及提取的字段信息计算各个字段信息的业务权重和;根据各个字段信息的业务权重和确定各个字段信息对应的推荐值;根据各个字段信息对应的推荐值进行索引推荐,与现有技术相比,根据各个字段信息的业务权重和确定各个字段信息的对应的推荐值,实现对数据库SQL进行快速分析判断,提高了数据库索引推荐的准确性及效率,针对数据库实现了最优的索引创建。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明提供的数据库索引推荐方法的流程示意图;
图2为本发明提供的数据库索引推荐方法的流程示意图;
图3为本发明提供的数据库索引推荐方法的流程示意图;
图4为本发明提供的数据库索引推荐方法的流程示意图;
图5为本发明提供的数据库索引推荐装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
图1为本发明实施例提供的数据库索引推荐方法所对应的流程示意图,如图1所示,该方法包括:
步骤101,从日志中提取已经执行过的多条结构化查询语言SQL文本、SQL平均执行时长及每条SQL文本对应的SQL执行频率。
从日志中提取已经执行过的查询类SQL文本、SQL平均执行时长及每条SQL文本对应的SQL执行频率。
在一种可能的实施方式中,存储为JSON格式,具体如下:
{sqlid:SQL编号,sqltext:SQL文本,sqltime:SQL平均执行时长,num:SQL执行频率}
步骤102,根据SQL平均执行时长及每条SQL文本对应的SQL执行频率确定各个SQL文本的业务权重。
本发明实施例中,计算每条SQL文本的业务权重。
在一种可能的实施方式中,将SQL平均执行时长与每条SQL文本对应的SQL执行频率的积确定为各个SQL文本的业务权重。
在一种可能的实施方式中,存储为JSON格式,具体如下:
{sqlid:SQL编号,sqlQuality:业务权重}
步骤103,解析SQL文本,提取SQL语句where条件中的字段信息。
解析SQL文本,提取SQL语句where条件中涉及的字段信息和表信息。
在一种可能的实施方式中,存储为JSON格式,具体如下:
{column:字段编号,colname:字段名称,tableName:表名,sqlid:SQL编号}
步骤104,根据各个SQL文本的业务权重及提取的字段信息计算各个字段信息的业务权重和。
本发明实施例中,计算每个字段信息的业务权重和。
在一种可能的实施方式中,存储为JSON格式,具体如下:
{column:字段编号,colname:字段名称,tableName:表名,sum_quality:业务权重和}。
步骤105,根据各个字段信息的业务权重和确定各个字段信息对应的推荐值。
步骤106,根据各个字段信息对应的推荐值进行索引推荐。
举例来说,对于每一个表,各个字段信息对应的推荐值从大到小排序,推荐前5个字段为索引字段。
上述方案,根据各个字段信息的业务权重和确定各个字段信息的对应的推荐值,实现对数据库SQL进行快速分析判断,提高了数据库索引推荐的准确性及效率,针对数据库实现了最优的索引创建。
本发明实施例中,根据SQL平均执行时长及每条SQL文本对应的SQL执行频率确定各个SQL文本的业务权重,包括:
将SQL平均执行时长与每条SQL文本对应的SQL执行频率的积确定为各个SQL文本的业务权重。
本发明实施例在步骤105中,根据各个字段信息的业务权重和确定各个字段信息对应的推荐值,步骤流程如图2所示,具体如下:
步骤201,根据各个SQL文本的业务权重确定各个字段信息的离散度。
对每个字段信息计算离散度,表示字段不重复的比例。
在一种可能的实施方式中,存储为JSON格式,具体如下:
{column:字段编号,colname:字段名称,tableName:表名,D:离散度}
步骤202,根据各个字段信息的业务权重和,及各个字段信息的离散度,确定各个字段信息的对应的推荐值。
在一种可能的实施方式中,存储为JSON格式,具体如下:
{column:字段编号,colname:字段名称,tableName:表名,T:推荐值}
上述方案,综合考虑SQL的业务权重及字段的离散度,推荐的索引能够使得数据库的综合查询性能更高效。
本发明实施例中,根据各个字段信息的业务权重和,及各个字段信息的离散度,确定各个字段信息的对应的推荐值,步骤流程如图3所示,具体如下:
步骤301,确定各个字段信息的业务权重和及各个字段信息的离散度的积。
步骤302,将各个字段信息的业务权重和及各个字段信息的离散度的积,确定为各个字段信息的对应的推荐值。
本发明实施例在步骤106中,根据各个字段信息对应的推荐值进行索引推荐,步骤流程如图4所示,具体如下:
步骤401,根据各个字段信息对应的推荐值对各个字段信息排序。
步骤402,根据排序结果确定索引字段。
上述方案,根据各个字段信息的业务权重和确定各个字段信息的对应的推荐值,实现对数据库SQL进行快速分析判断,提高了数据库索引推荐的准确性及效率,针对数据库实现了最优的索引创建。
本发明实施例中还提供了一种数据库索引推荐装置,如下面的实施例所述。该装置如图5所示,所述装置包括:
解析模块501,用于从日志中提取已经执行过的多条结构化查询语言SQL文本、SQL平均执行时长及每条SQL文本对应的SQL执行频率;根据SQL平均执行时长及每条SQL文本对应的SQL执行频率确定各个SQL文本的业务权重;解析SQL文本,提取SQL语句where条件中的字段信息;
推荐模块502,根据各个SQL文本的业务权重及提取的字段信息计算各个字段信息的业务权重和;根据各个字段信息的业务权重和确定各个字段信息对应的推荐值;根据各个字段信息对应的推荐值进行索引推荐。
本发明实施例中,所述解析模块501具体用于:
将SQL平均执行时长与每条SQL文本对应的SQL执行频率的积确定为各个SQL文本的业务权重。
本发明实施例中,所述推荐模块502具体用于:
根据各个SQL文本的业务权重确定各个字段信息的离散度;
根据各个字段信息的业务权重和,及各个字段信息的离散度,确定各个字段信息的对应的推荐值。
本发明实施例中,所述推荐模块502具体用于:
将各个字段信息的业务权重和及各个字段信息的离散度的积,确定为各个字段信息的对应的推荐值。
本发明实施例中,所述推荐模块502具体用于:
根据各个字段信息对应的推荐值对各个字段信息排序;
根据排序结果确定索引字段。
由于该装置解决问题的原理与数据库索引推荐方法相似,因此该装置的实施可以参见数据库索引推荐方法的实施,重复之处不再赘述。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据库索引推荐方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述数据库索引推荐方法。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述数据库索引推荐方法。
本发明实施例中,从日志中提取已经执行过的多条结构化查询语言SQL文本、SQL平均执行时长及每条SQL文本对应的SQL执行频率;根据SQL平均执行时长及每条SQL文本对应的SQL执行频率确定各个SQL文本的业务权重;解析SQL文本,提取SQL语句where条件中的字段信息;根据各个SQL文本的业务权重及提取的字段信息计算各个字段信息的业务权重和;根据各个字段信息的业务权重和确定各个字段信息对应的推荐值;根据各个字段信息对应的推荐值进行索引推荐,与现有技术相比,根据各个字段信息的业务权重和确定各个字段信息的对应的推荐值,实现对数据库SQL进行快速分析判断,提高了数据库索引推荐的准确性及效率,针对数据库实现了最优的索引创建。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据库索引推荐方法,其特征在于,包括:
从日志中提取已经执行过的多条结构化查询语言SQL文本、SQL平均执行时长及每条SQL文本对应的SQL执行频率;
根据SQL平均执行时长及每条SQL文本对应的SQL执行频率确定各个SQL文本的业务权重;
解析SQL文本,提取SQL语句where条件中的字段信息;
根据各个SQL文本的业务权重及提取的字段信息计算各个字段信息的业务权重和;
根据各个字段信息的业务权重和确定各个字段信息对应的推荐值;
根据各个字段信息对应的推荐值进行索引推荐。
2.如权利要求1所述的数据库索引推荐方法,其特征在于,根据SQL平均执行时长及每条SQL文本对应的SQL执行频率确定各个SQL文本的业务权重,包括:
将SQL平均执行时长与每条SQL文本对应的SQL执行频率的积确定为各个SQL文本的业务权重。
3.如权利要求1所述的数据库索引推荐方法,其特征在于,根据各个字段信息的业务权重和确定各个字段信息的对应的推荐值,包括:
根据各个SQL文本的业务权重确定各个字段信息的离散度;
根据各个字段信息的业务权重和,及各个字段信息的离散度,确定各个字段信息的对应的推荐值。
4.如权利要求3所述的数据库索引推荐方法,其特征在于,根据各个字段信息的业务权重和,及各个字段信息的离散度,确定各个字段信息的对应的推荐值,包括:
将各个字段信息的业务权重和及各个字段信息的离散度的积,确定为各个字段信息的对应的推荐值。
5.如权利要求1所述的数据库索引推荐方法,其特征在于,根据各个字段信息对应的推荐值进行索引推荐,包括:
根据各个字段信息对应的推荐值对各个字段信息排序;
根据排序结果确定索引字段。
6.一种数据库索引推荐装置,其特征在于,包括:
解析模块,用于从日志中提取已经执行过的多条结构化查询语言SQL文本、SQL平均执行时长及每条SQL文本对应的SQL执行频率;根据SQL平均执行时长及每条SQL文本对应的SQL执行频率确定各个SQL文本的业务权重;解析SQL文本,提取SQL语句where条件中的字段信息;
推荐模块,根据各个SQL文本的业务权重及提取的字段信息计算各个字段信息的业务权重和;根据各个字段信息的业务权重和确定各个字段信息对应的推荐值;根据各个字段信息对应的推荐值进行索引推荐。
7.如权利要求6所述的数据库索引推荐装置,其特征在于,所述解析模块具体用于:
将SQL平均执行时长与每条SQL文本对应的SQL执行频率的积确定为各个SQL文本的业务权重。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5任一项所述方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至5任一项所述方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至5任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311551306.1A CN117573798A (zh) | 2023-11-21 | 2023-11-21 | 数据库索引推荐方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311551306.1A CN117573798A (zh) | 2023-11-21 | 2023-11-21 | 数据库索引推荐方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117573798A true CN117573798A (zh) | 2024-02-20 |
Family
ID=89883896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311551306.1A Pending CN117573798A (zh) | 2023-11-21 | 2023-11-21 | 数据库索引推荐方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117573798A (zh) |
-
2023
- 2023-11-21 CN CN202311551306.1A patent/CN117573798A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10498355B2 (en) | Searchable, streaming text compression and decompression using a dictionary | |
KR101617696B1 (ko) | 데이터 정규표현식의 마이닝 방법 및 장치 | |
CN113590764B (zh) | 训练样本构建方法、装置、电子设备和存储介质 | |
CN106897280B (zh) | 数据查询方法及装置 | |
CN111767320B (zh) | 数据血缘关系确定方法及装置 | |
CN110597844B (zh) | 异构数据库数据统一访问方法及相关设备 | |
CN112364014B (zh) | 数据查询方法、装置、服务器及存储介质 | |
CN110688593A (zh) | 一种社交媒体账号识别方法及系统 | |
CN114817243A (zh) | 数据库联合索引的建立方法、装置、设备及存储介质 | |
US8954468B2 (en) | Extracting a meaningful frequent itemset | |
CN106557483B (zh) | 一种数据处理、数据查询方法及设备 | |
CN114398394A (zh) | 数据血缘解析方法、装置、设备及存储介质 | |
CN106033444B (zh) | 文本内容的聚类方法和装置 | |
CN112148841B (zh) | 一种对象分类以及分类模型构建方法和装置 | |
CN104331507B (zh) | 机器数据类别自动发现和分类的方法及装置 | |
CN117573798A (zh) | 数据库索引推荐方法及装置 | |
CN111026940A (zh) | 一种面向电网电磁环境的网络舆情及风险信息监测系统、电子设备 | |
CN106951548B (zh) | 基于rm算法提升特写词语搜索精度的方法及系统 | |
CN116070958A (zh) | 归因分析方法、装置、电子设备和存储介质 | |
CN116304012A (zh) | 一种大规模文本聚类方法及装置 | |
CN114417828A (zh) | 一种服务器告警日志描述文本的实体关系抽取方法及系统 | |
CN112597179B (zh) | 日志信息解析方法及装置 | |
CN110765100B (zh) | 标签的生成方法、装置、计算机可读存储介质及服务器 | |
WO2016013157A1 (ja) | テキスト処理システム、テキスト処理方法およびテキスト処理プログラム | |
CN113760864A (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 |