CN117271481B - 数据库自动优化方法及设备 - Google Patents
数据库自动优化方法及设备 Download PDFInfo
- Publication number
- CN117271481B CN117271481B CN202311560419.8A CN202311560419A CN117271481B CN 117271481 B CN117271481 B CN 117271481B CN 202311560419 A CN202311560419 A CN 202311560419A CN 117271481 B CN117271481 B CN 117271481B
- Authority
- CN
- China
- Prior art keywords
- optimized
- query statement
- query
- execution plan
- execution
- 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
Links
- 238000005457 optimization Methods 0.000 title claims abstract description 141
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000008569 process Effects 0.000 claims abstract description 24
- 238000011157 data evaluation Methods 0.000 claims description 39
- 230000006870 function Effects 0.000 claims description 22
- 230000014509 gene expression Effects 0.000 claims description 17
- 238000004891 communication Methods 0.000 claims description 14
- 238000011156 evaluation Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/217—Database tuning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24549—Run-time optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
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)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种数据库自动优化方法及设备,所述方法包括:获取待优化查询语句及所述待优化查询语句对应的在关系数据库中的执行过程中的执行数据;获取所述关系数据库中的基础数据;基于获取的基础数据及所述待优化查询语句对应的执行数据,生成对所述待优化查询语句的优化执行计划;根据所述待优化查询语句的优化执行计划,对所述待优化查询语句进行优化查询。
Description
技术领域
本发明涉及仿真技术领域,特别涉及一种数据库自动优化方法及电子设备。
背景技术
现有数据库技术,特别是关系数据库主要通过数据库语言与数据库交互,例如结构化查询语言(Structured Query Language,SQL)与数据库交互。SQL已经在数据库中得到了广泛的应用,并取得重大进展。但也面临诸多挑战,包括SQL查询语句可能变得非常复杂,特别是对象关系映射(Object Relational Mapping,ORA)框架的广泛使用,更是加剧了这种复杂性。同时,随着数据量的不断增加,SQL面临着处理大规模数据的挑战。SQL需要更快的处理速度和更好的扩展性来应对这一挑战。现有数据库产品和工具中,一般会提供可视化的或命令行工具针对特定的SQL进行优化。随着应用***版本迭代的加速和业务逻辑复杂性的提高,需要优化的SQL急剧增加,但基于可视化的或命令行工具进行手工的优化方式已经不能满足行业的发展需要。
发明内容
为了解决现有存在的技术问题,本发明实施例提供一种数据库自动优化方法及电子设备,能够实现能自动对需要优化的查询语句进行优化,从而提高关系数据库的工作效率及使用户端的业务***能够平稳运行。
第一方面,提供一种数据库自动优化方法,包括:
获取待优化查询语句及所述待优化查询语句对应的在关系数据库中的执行过程中的执行数据;
获取所述关系数据库中的基础数据;
基于获取的基础数据及所述待优化查询语句对应的执行数据,生成对所述待优化查询语句的优化执行计划;
根据所述待优化查询语句的优化执行计划,对所述待优化查询语句进行优化查询。
第二方面,提供一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行本申请实施例所提供的数据库自动优化方法的步骤。
本申请实施例提供的数据库自动优化方法及电子设备,通过获取待优化查询语句,并基于关系数据库的基础数据及待优化查询语句对应的执行数据对待优化查询语句进行优化,生成待优化查询语句的优化执行计划,从而实现能自动对需要优化的查询语句进行优化,从而提高关系数据库的工作效率及使用户端的业务***能够平稳运行。
附图说明
图1为一实施例中数据库自动优化方法的应用环境图;
图2为一实施例中数据库自动优化方法的流程图;
图3为一实施例中数据库自动优化方法中生成优化执行计划的流程图;
图4为一实施例中数据库自动优化装置的示意图;
图5为一实施例中电子设备的示意图。
具体实施方式
以下结合说明书附图及具体实施例对本发明技术方案做进一步的详细阐述。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明的保护范围。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
在以下的描述中,涉及到“一些实施例”的表述,其描述了所有可能实施例的子集,但是应当理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
参阅图1,为一实施例中数据库自动优化方法的应用环境图。应用环境图可以包括业务***100、关系数据库200及数据库自动优化***300。其中业务***100与关系数据库200进行数据通信,业务***100是面向用户使用的***,关系数据库200是建立在关系数据库模型基础上的数据库,给业务***100提供数据支持。业务***100基于关系数据库200提供的数据向用户提供各项功能。业务***100基于用户的功能使用向关系数据库200请求数据。关系数据库200根据请求,并利用数据库查询语言查询与请求相关的数据。数据库自动优化***300与关系数据库200进行数据通信,数据库自动优化***300通过本申请实施例中的数据库自动优化方法对关系数据库200进行优化,以提高业务***100的数据查询的及时性及准确性。关系数据库200可以是oracle数据库、db2数据块、SQL Server数据库、MySQL等数据库。业务***100、数据库自动优化***300可以是指逻辑上相互独立的软件、小程序等等。业务***100、关系数据库200、数据库自动优化***300、可以同时或者部分位于同一电子设备中,也可以分别位于不同的电子设备中,保证业务***100、关系数据库200、数据库自动优化***300能够进行数据通信即可。在一些实施例中,数据库自动优化***300可以位于关系数据库200中,作为关系数据库200的一种自动优化工具。
请参阅图2,为本申请一实施例提供的数据库自动优化方法的流程图。数据库自动优化方法应用于电子设备中,该数据库自动优化方法包括如下步骤:
S11、获取待优化查询语句及待优化查询语句对应的在关系数据库中的执行过程中的执行数据。
在本实施例中,待优化查询语句指示需要优化的查询语句。其中查询语句是基于数据库语言形成的语句,例如结构化查询语言(Structured Query Language,SQL)语句。在业务***请求数据时,会利用查询语句在关系数据库中查询需要的数据。
由于与关系数据库进行数据通信的业务***的场景可以是不同,例如业务***可以是一个在线购物平台上商家使用的***,或买家使用的***,或物流工作者使用的***。在业务场景不同时,业务***对关系数据库需求也不同。例如对于在线购物平台中的商家使用的***及买家使用的***对响应时间要求比较高。对于物流工作者使用的***,对及时响应速度要求不太高,但对物流的一致性要求比较高。因此,需要根据不同的业务场景对关系数据库的需求去抓取该业务场景中需要优化的查询语句。
在一些实施例中,所述获取待优化查询语句包括以下至少一种:
获取与所述关系数据库进行数据通信的业务***的数据评价指标,从所述关系数据库中的多个查询语句中确定数据评价指标不达标的查询语句,将数据评价指标不达标的查询语句作为待优化查询语句;及/或
获取所述关系数据库中在执行过程中占用资源超过预设资源值的查询语句,将占用资源超过预设资源值的查询语句作为待优化查询语句。
其中数据评价指标用于衡量业务场景对关系数据库反馈数据的情况,数据评价指标能业务场景对关系数据库的性能需求点。例如对于在线购物平台中的商家使用的***及买家使用的***对响应时间要求比较高,那么数据评价指标包括关系数据库对业务***的数据请求的响应时间。在关系数据库中设有与数据评价指标对应的用于衡量查询语句查询效率的查询指标。一个数据评价指标可以对应多个查询指标,例如数据评价指标为响应时间,与响应时间关联的查询指标可以包括查询语句的运行时长、处理器运行速度等等。一个查询指标也可以对应多个数据评价指标。例如查询指标处理器运行速度可以对应响应时间这个数据评价指标,也可以同时关联维护优化时间这个数据评价指标。在一可选示例中,若在获取到业务***的优化响应时间的请求时,可以在关系数据库中,设置打开慢查询语句采集选项,采集查询语句的运行时间大于等于预设语句运行时长(如10S)的语句作为慢查询语句,即待优化查询语句;设置查询语句时处理器运行时长大于等于预设处理器运行时长作慢查询语句,即待优化查询语句。采集待优化查询语句的时间也可以业务***的运行时间设定。将采集待优化查询语句的时间设定在业务***的运行的时间段内以便于能够采集更多的数据。
因此,在上述实施例中,能够根据业务场景对关系数据库的数据要求,对该业务场景在关系数据库中的查询语句进行针对性的优化,从而能够更数据库的优化更符合业务场景,从而降低关系数据库的查询优化的难度和复杂度。
在关系数据库的实际运行中,有的查询语句占用关系数据库的资源较多,就会影响其他排队中的查询语句的运行,因此也需要对关系数据库中在执行过程中占用资源超过预设资源值的查询语句进行优化。其中资源包括但不限于:处理器资源、存储器资源等等。具体地,获取每个查询语句在执行过程中对资源使用的占比,将对资源使用的占比超过预设资源值的查询语句作为待优化查询语句。因此,在上述实施例中,能够自动找出占用资源较多的查询语句进行优化,从而能提高关系数据库的工作负载的整体效率。
在本实施例中,执行数据用于指示查询语句在执行过程中所用到的数据、因执行查询而产生的数据、衡量查询语句执行的运行指标。后续会基于待优化查询语句的执行数据生成待优化查询语句的优化执行计划。
执行数据包括但不限于:查询语句的全文文本、查询语句的唯一标识、查询语句的执行计划、查询语句的执行计划标识、查询语句的执行期间的绑定变量、查询语句的执行的上下文、查询语句的运行指标。其中查询语句的运行指标包括但不限于:解析调用次数、磁盘读次数、缓存读次数、处理行数、执行次数、处理运行时长、 查询语句的运行时长、平均解析时间、排序次数、共享内存、物理读请求次数、物理读字节数、物理写请求、物理写字节数等。
S12、获取关系数据库中的基础数据。
在本实施例中,基础数据用于指示关系数据库所涉及到的资源数据及对象数据。基础数据是后续对待优化查询语句进行优化的基础资料。其中资源数据可以是指示关系数据库的***级信息,包括处理器和输入输出(Input/Output,IO)两个层面。资源数据的具体指标包括但不限于无负载情况下处理器速度、有负载情况下处理器速度、IO检索时间、IO传输速度、最大IO吞吐量、IO次数。对象数据用于指示关系数据库中对象级信息,实际采集粒度可以包括但不限于:表对象、列对象和索引对象。表对象统计行数、页数(或块数)、行平均长度;列对象统计唯一值的数量、空NULL值的数量、列的数据分布;索引对象统计索引树的叶块数量、索引树的层级、聚簇因子等等。
在一些实施例中,采集关系数据库中的基础数据的时间也可以定义时间,或者根据业务***的业务运行时间自动设定,然后自动获取基础数据。
S13、基于获取的基础数据及所述待优化查询语句对应的执行数据,生成对所述待优化查询语句的优化执行计划。
在本实施例中,基于获取的关系数据库的基础数据,对待优化查询语句的执行数据中查询语句的全文文本进行解析,并生成一颗对应的解析树;通过语法规则来验证和解析生成的解析树是否合法,在生成的解析树被认为是合法时,调用关系数据库的优化器将解析树转化成多个执行计划,从多个执行计划中确定优化执行计划。
具体地,一条查询语句的解析过程主要分为:词法分析、语法分析及语义分析。其中词法分析是将查询语句拆解成单词(Token)序列,并识别出关键字、标识、常量等;语法分析是通过调用关系数据库的分析器对词法分析器解析出来的单词(Token)序列在语法上是否满足语法规则;语义分析是查询语句解析过程的一个逻辑阶段,主要任务是在语法正确的基础上进行上下文有关性质的审查,在查询语句解析过程中该阶段完成表名、操作符、类型等元素的合法性判断,同时检测语义上的二义性。在通过语法规则来验证和解析生成的解析树是否合法时,例如检查要查询的数据表、数据列是否存在等等。经过前面的步骤生成的语法树被认为是合法时,并且由优化器将解析树转化成查询计划。多数情况下,一条查询可以有很多种执行方式,即有多种执行计划,优化器的作用就是找到这其中最好的执行计划。例如从多个执行计划中选取运行时间成本最小的执行计划作为待查询语句的优化执行计划。
S14、根据待优化查询语句的优化执行计划,执行对待优化查询语句的查询。
在本实施例中,优化执行计划是根据查询语句的语法、语义及数据库中的基础数据生成的多个执行计划中选出的一个执行计划。执行计划通常以树形结构的形式呈现。每个节点代表一个操作,例如表扫描、索引扫描、排序等等。节点之间的关系代表操作之间的依赖关系。执行计划中的每个节点中的数据包括但不限于操作类型、操作对象、操作条件、操作成本等等。其中操作类型表示该节点代表的操作类型,如表扫描、、索引扫描、排序等等;操作对象表示该操作的对象,如表名、索引名等;操作条件表示该节点操作的条件,如where子句中的过滤条件;操作成本表示该节点的操作成本,通过以IO次数或者处理器运行时长为单位。因此通过执行所述待优化查询语句的优化执行计划,能够完成对一条查询语句的优化查询。
可以理解的是,上述步骤S11与S12可以不分先后顺序,也可以同时执行。
在上述实施例中,通过获取待优化查询语句,并基于关系数据库的基础数据及待优化查询语句对应的执行数据对待优化查询语句进行优化,生成待优化查询语句的优化执行计划,从而实现能自动对需要优化的查询语句进行优化,从而提高关系数据库的工作效率及使用户端的业务***能够平稳运行。
在一些实施例中,所述方法还包括:
将关系数据库的运行时段划分为工作时间段及空闲时间段,其中工作时间段用于指示获取待优化查询语句、获取待优化查询语句对应的执行数据及基础数据的时间段,空闲时间段用于指示生成待优化查询语句的优化执行计划及对待优化查询语句进行优化的时间段。
例如一个管理员工薪资的数据库,工作时间段为上午9点至下午6点,这样就可以在关系数据库运行期间抓取不符合业务***的数据查询需求的查询语句,可以针对性的优化查询。在关系数据库没有负载运行时,将晚上10点至凌晨3点设置为空闲时间段,这样优化查询语句可以更好的利用资源,减少优化对运行负载查询时的影响以减少对业务***的影响。
在一些实施例中,所述基于获取的基础数据及所述待优化查询语句对应的执行数据,生成对所述待优化查询语句的优化执行计划包括:
获取待优化查询语句对应的数据表中的扩展统计信息,其中扩展统计信息包括指示列的数据分布的列扩展统计信息,指示多个有关联关系的列的统计信息的关联列扩展统计信息、指示列上使用函数后的统计信息的函数的扩展统计信息、指示列上使用表达式后的统计信息的表达式的扩展统计信息;
基于待优化查询语句对应的数据表中的扩展统计信息,获取待优化查询语句对应的基数及待优化查询语句对应的数据分布;
获取用于指示优化目标的优化参数;
基于待优化查询语句对应的基数及待优化查询语句对应的数据分布,获取的基础数据、所述待优化查询语句对应的执行数据及所述优化参数,生成待优化查询语句的至少一个执行计划;
从所述待优化查询语句的至少一个执行计划中将所述优化参数对应的参数值符合预设参数条件的执行计划作为所述优化执行计划。
如图3所示,为一实施例中数据库自动优化方法中生成优化执行计划的流程图。该流程图包括:
S31、获取待优化查询语句对应的数据表中的扩展统计信息。
关系数据库中的查询语句在查询执行过程中会涉及到表对象。对表对象的统计信息的准确分析,可以得到准确的基数。通过准确的基数,评估生成的执行计划的运行时间成本。但在两列及两列以上存在关系,若只是对单独的列进行统计信息分析,并不能准确的显示列之间的关系,也就无法准确的反馈基数。在列上使用函数或者表达式时,若只是对单独的列的信息进行统计信息分析,并不能准确的显示列上使用函数或者表达式后的数据分布,也就无法准确的反馈基数。因此,需要获取待优化查询语句对应的数据表中扩展统计信息,扩展统计信息包括列扩展统计信息、关联列扩展统计信息、函数的扩展统计信息、表达式的扩展统计信息等等。
其中列扩展统计信息指示列的数据分布,包括但不限于:列对象统计唯一值的数量、空NULL值的数量及数据分布情况等等。单个列统计信息对于确定WHERE子句中单个谓词的选择性非常有帮助。
其中关联列扩展统计信息指示有关联关系的两列及两列以上的统计信息分布。但当WHERE子句包含来自同一个表的不同列上的多个谓词时,单个列统计信息不会显示列之间的关系,这是需要列组来解决的问题。优化器先独立计算谓词的选择性,然后组合它们,通过收集列组的统计数据,优化器判断列组中各列值之间的实际关系,预估更准确的基数反馈内容。例如一个薪酬表中,包括薪酬及级别,一般级别越高薪酬越高,但若需要获取级别大于三级且薪酬大于1万的人员时,通过单个谓词对单独列的进行选择时,无法得到准确的基数。但将薪酬与级别列形成关联列作为一个列组进行统计信息分析,就能获取准确的基数。
其中函数的扩展统计信息包括函数所作用的列本身的统计信息、列上使用函数后的统计信息。例如在一个A列上使用upper函数,可以收集一个upper函数表达式的列统计信息,既收集A列本身的直方图,也收集函数表达式upper(A)的直方图,为优化器提供更准确的分布反馈。
其中表达式的扩展统计信息指示列上使用表达式后的统计信息。通过分析表达式所作用的列的统计信息,得到表达式所作用后的列间的关系,从而提供更准确的基数反馈。例如,假设有一个包含两个表的查询,表A和表B。表A有一个列X,表B有一个列Y。查询的谓词是A.X = B.Y,并且优化器需要根据谓词的选择性来确定最佳的查询计划。优化器首先会独立计算A.X和B.Y的选择性。其中选择性是指列中不同值的比例,A.X的选择性是指列X中不同值的比例,如果A.X的选择性很高,表示A.X列中的不同值很多,那么通过A.X进行过滤可能会减少很多行。同样,B.Y的选择性是指列Y中不同值的比例,如果B.Y的选择性也很高,表示B.Y列中的不同值很多,那么通过B.Y进行过滤也可能会减少很多行。然后优化器会组合谓词,通过收集列组中列X及列Y的统计数据来判断列组中列X及列Y的值之间的实际关系。在这个例子中,优化器会收集A.X和B.Y的统计信息,统计信息包括但不限于最小值、最大值和平均值等。通过这些统计信息,优化器可以判断表达式A.X和表达式B.Y列值之间的关系,比如是否存在一对一的关系、一对多的关系或多对多的关系。
S32、基于待优化查询语句对应的数据表中的扩展统计信息,获取待优化查询语句对应的基数及待优化查询语句对应的数据分布。
S33、获取用于指示优化目标的优化参数。
具体地,优化参数用于指示待优化查询语句的优化目标,在优化待查询语句时,以优化参数为优化方向,在生成待优化查询语句的优化执行计划时,以优化参数为目标进行优化,例如数据评价指标为响应时间,可以优化与数据评价指标关联的查询指标,例如优化查询语句的运行时长、处理器运行速度、IO次数、IO检索时间、IO传输速度等等。
具体地,优化参数用于指示待优化查询语句的优化目标,在执行计划对应的优化参数满足预设参数条件时,该执行计划对应的查询语句就能满足业务场景对关系数据库的数据需求。数据评价指标包括但不限于响应时间、数据查询准确度、数据一致性等等。查询指标可以包括但不限于查询语句的运行时长、处理器运行速度、IO次数、IO检索时间、IO传输速度等等。性能参数包括但不限于:处理器运行速度、IO检索时间、IO传输速度、最大IO吞吐量等等。优化超时参数用于限定最大优化时长,避免过度优化,影响整体优化的进度和效果。
在一些实施中,所述获取用于指示优化目标的优化参数包括:
获取与所述关系数据库进行数据通信的业务***的数据评价指标的范围值;
根据数据评价指标的范围值,及/或所述关系数据库的资源负载状态,配置优化参数。
具体地,用户可以在业务***的用户界面上配置数据评价指标的范围值,电子设备接收到业务***发送的数据评价指标的范围值,根据数据评价指标的范围值配置与数据评价指标对应的查询指标的值。电子设备还会获取关系数据库在负载状态下及非负载状态下的资源数据,分析查询语句占用资源的情况,根据负载状态下及非负载状态下的资源数据配置性能参数值,从而便于选出占用资源较少的执行计划作为优化执行计划。
S34、基于待优化查询语句对应的基数及待优化查询语句对应的数据分布,获取的基础数据、所述待优化查询语句对应的执行数据及所述优化参数,生成待优化查询语句的至少一个执行计划。
S35、从所述待优化查询语句的至少一个执行计划中将所述优化参数对应的参数值符合预设参数条件的执行计划作为优化执行计划。
在一些实施例中,在从至少一个执行计划中选取优化执行计划时,将指示优化目标的优化参数对应的参数值符合预设参数条件的执行计划作为所述优化执行计划。其中优化参数包括以下至少一种:与数据评价指标对应的查询指标、指示限定优化查询语句的最大优化时长的优化超时参数、指示所述关系数据库的资源占用的性能参数值。
在一些实施例中,在优化参数有多个时,将优化参数都符合预设参数条件的执行计划作为优化执行计划。例如优化参数包括查询语句的运行时长、IO传输速度,预设参数条件包括:查询语句的运行时长小于10S、IO传输速度大于100个单位。将同时满足查询语句的运行时长小于10S,且在查询语句执行过程中IO传输速度大于100个单位的执行计划作为优化执行计划。
在上述实施例中,基于待优化查询语句对应的数据表中的扩展统计信息,能够获取到更准确的待优化查询语句对应的基数及待优化查询语句对应的数据分布。优化器在至少一个执行计划中选取优化执行计划时就能更准确的评估每个执行计划的运行时间成本,从而可以选取最优的执行计划以提高关系数据库的整体效率,而且根据优化参数生成优化执行计划,优化参数能够反应根据业务场景对关系数据库的需求情况,从而针对性的优化关系数据库的查询语句,还可以分析查询语句占用关系数据库的资源的情况,从而便于选出占用资源较少的执行计划作为优化执行计划,从而提高关系数据库的工作效率及使用户端的业务***能够平稳运行。
在一些实施例中,优化执行计划包括待优化查询语句的优化时间范围。关系数据库***内部的定时作业机制,可以将优化时间范围定制在***维护期间或业务非繁忙期间。同时提供非定时作业的自定义功能,提供优化时间设定选项,用户通过优化时间设定选项选定需要设定的优化时间。
在一些实施例中,所述待优化查询语句为多条待优化查询语句,所述根据所述待优化查询语句的优化执行计划,对所述待优化查询语句进行优化查询包括:
获取每个待优化查询语句的优化顺序,其中优化顺序根据至少以下因素确定:待优化查询语句的等级、待优化查询语句的紧急程度;
根据每个待优化查询语句的优化顺序,依次执行每个待优化查询语句的优化执行计划,直至所述优化完所有待优化查询语句。
具体地,可以根据业务场景将查询语句根据业务类型进行分类,每种业务类型对应一个等级。等级越高,优化顺序越靠前,越先被执行。待优化查询语句的紧急程度可以根据业务***的用户设定。每种业务场景对数据需求不同,因此根据业务场景给不同的待优化查询语句设定紧急程度,可以提高优化效率。例如在线购物平台的业务***上的商品数据不能实时响应,同时物流数据查询也不能及时响应,但商品数据的查询直接会影响在线购物平台的业务***的使用,因此会优先优化商品数据的查询语句。在其他实施例中,也可以同时并行处理多个待优化查询语句以提高优化的速度。
在上述实施例中,能够根据待优化查询语句的等级、待优化查询语句的紧急程度自动设定优化顺序,从而提高关系数据库的整体优化效率及保证业务***的平稳运行。
在一些实施例中,管理员会评估和查看需要优化的查询语句,因此需要生成优化执行报告以供管理员查阅。因此,基于所述待优化查询语句的优化执行计划,生成优化执行报告,其中优化执行报告的内容包括至少以下一种或者多种的组合:
以与所述关系数据库进行数据通信的业务***为单位,分类显示各个业务***的所述待优化查询语句的优化执行计划;或
根据业务***的数据评价指标类型,分类显示业务***中所述待优化查询语句的优化执行计划;或
根据指示所述关系数据库的资源占用的性能参数类型,分类显示所述待优化查询语句的优化执行计划;或
根据每个待优化查询语句的优化顺序,显示所述待优化查询语句的优化执行计划;或
突出显示待优化查询语句的优化执行计划中的优化参数。
具体地,一个关系数据库可以对接多个业务***,在优化执行报告中以业务***为单位呈现各个业务单位待优化查询语句,便于管理员了解每个业务***的业务场景的需求以更好的把握各个业务***的查询优化。在一个业务***中可能对关系数据库会有多个不同的查询需求,就对应不同的数据评价指标类型,那么根据数据评价指标类型分类显示待优化查询语句,例如响应时间,查询精度等等。优化响应时间的查询语句在一类,优化查询精度的查询语句在一类,这样可以便于管理员分类查看每类型的待优化查询语句。根据关系数据库的资源占用的性能参数类型,分类显示待优化查询语句,可以便于管理员查看关系数据库中各个资源占用及在某一个类资源中需要优化的查询语句。在优化执行报告中以优化顺序显示待优化查询语句,便于管理员先优化的查询语句,在有调整需求时,管理员可以对优化顺序进行调整,例如业务***突然出现数据查询卡顿的现象,这时管理员就可以根据卡顿现象及时调整优化顺序以保证业务***的平稳运行。在优化执行报告中突出显示待优化查询语句中的优化参数,便于管理员直观看到每个待优化查询语句的优化方向。
在一些实施例中,在待优化查询语句的优化执行计划生成后,由数据库管理员或应用管理员通过浏览具体可执行的优化建议,加上人为经验并选择恰当的时机,有选择地定制实施于所述关系数据库***。因此,所述根据所述待优化查询语句的优化执行计划,对所述待优化查询语句进行优化查询包括:
获取用户对所述待优化查询语句的优化执行计划的操作数据,其中所述操作数据包括以下至少一种:指示优化目标的优化参数的调整操作、优化顺序调整操作、确认执行操作;
基于获取的操作数据,执行所述待优化查询语句的优化执行计划。
其中在待优化查询语句的优化执行计划生成后,管理员可以直接调用自动优化接口,然后待优化查询语句的优化执行计划会发送至数据库管理员或应用管理员,待优化查询语句的优化执行计划可以以优化执行报告的形式呈现在管理员的终端设备上。其中自动优化接口包括但不限于:函数调用、脚本或者用户界面等等。优化执行报告包括要实施的优化执行计划、创建的索引、参数的调整等。管理员基于优化执行报告可以进行优化参数的调整、优化顺序的调整等等。其中确认执行操作用于指示是否执行待优化查询语句的优化执行计划;在获取到用户确认执行对待优化查询语句的优化执行计划时,开始优化待优化查询语句。
在关系数据库中由于版本迭代、数据特性变化带来关系数据库中的数据变化时,可能会影响执行效率恶化风险,因此需要对查询语句的执行计划进行监督管理。在一些实施例中,所述关系数据库中执行次数超过预设次数的查询语句对应一个历史执行计划集,所述方法还包括:
获取所述关系数据库中的当前查询语句的当前执行计划;
在当前查询语句存在历史执行计划集,且当前查询语句的当前执行计划满足预设执行终止条件时,从当前查询语句的历史执行计划集中选取一个历史执行计划作为当前查询语句的当前执行计划。
在对关系数据库进行管理时,自动监督及控制查询语句的执行计划,可以使每个查询语句在查询执行时使用更好的执行计划,防止执行计划变化导致的性能下降。为了实现执行计划管理,通过优化器自动为执行次数超过预设次数的查询语句维护一个历史执行计划集。历史执行计划集包括优化器能够重新生产执行计划的所有信息。即历史执行计划集包括查询脚本、计划提示、绑定变量、编译环境等。为了得到更好的执行计划,对于一个待优化查询语句,可以定义一个计划基线,该执行计划基线是待优化查询语句对应的历史执行计划集的一个子集,而执行计划基线里的执行计划用来与当前执行计划比较的参考基准。其中当前查询语句的当前执行计划满足预设执行终止条件包括但不限于:当前查询语句的当前执行计划在执行过程中的一个或者多个评价指标所指示的查询性能低于执行计划基线对应的一个或者多个评价指标所指示的查询性能。其中评价指标包括但不限于处理器速度、查询运行时长、IO检索时间、IO传输速度、最大IO吞吐量等等。在当前查询语句的当前执行计划在执行过程中的一个或者多个评价指标所指示的查询性能低于执行计划基线对应的一个或者多个评价指标所指示的查询性能时,为了防止数据库中的查询语句的性能降低,从历史执行计划集中选取一个历史执行计划作为当前查询语句的当前执行计划。
可选的,所述方法还包括:
当前查询语句的当前执行计划在执行过程中的一个或者多个评价指标所指示的查询性能高于执行计划基线对应的一个或者多个评价指标所指示的查询性能时,将前查询语句的当前执行计划更新到历史执行计划集。在其他实施例中,也可以由管理员进行手动维护历史执行计划集。这样动态的维护历史执行计划集,可以使每个查询语句在执行时能够有较高的查询效率。
可选的,在生成待优化查询语句的优化执行计划后,将待优化查询语句的优化执行计划加入到待优化查询语句对应的执行计划基线中,便于后续对待优化查询语句进行优化时,以优化计划作为参考。
在上述实施例中,通过对关系数据库中的查询语句自动维护一个历史执行计划集,自动监督及控制查询语句的执行计划,在查询语句的当前执行计划的查询性能不如查询语句的历史执行计划时,及时更新查询语句的当前执行计划,从而可以使每个查询语句在查询执行时使用更好的执行计划,防止执行计划变化导致的性能下降,有效避免由于版本迭代、数据特性变化带来的SQL执行效率恶化风险。
请参阅图4,本申请一实施例提供一种数据库自动优化装置,包括:获取模块21,用于获取待优化查询语句;所述获取模块21还用于所述待优化查询语句对应的在关系数据库中的执行过程中的执行数据;所述获取模块21还用于获取所述关系数据库中的基础数据;生成模块22,用于基于获取的基础数据及所述待优化查询语句对应的执行数据,生成对所述待优化查询语句的优化执行计划;执行模块23,用于根据所述待优化查询语句的优化执行计划,对所述待优化查询语句进行优化查询。
可选的,获取模块21还用于:
获取与所述关系数据库进行数据通信的业务***的数据评价指标,从所述关系数据库中的多个查询语句中确定与数据评价指标对应的查询指标不达标的查询语句,将数据评价指标不达标的查询语句作为待优化查询语句;及/或
获取所述关系数据库中在执行过程中占用资源超过预设资源值的查询语句,将占用资源超过预设资源值的查询语句作为待优化查询语句。
可选的,生成模块22还用于:
获取待优化查询语句对应的数据表中的扩展统计信息,其中扩展统计信息包括指示列的数据分布的列扩展统计信息,指示多个有关联关系的列的统计信息的关联列扩展统计信息、指示列上使用函数后的统计信息的函数的扩展统计信息、指示列上使用表达式后的统计信息的表达式的扩展统计信息;
基于待优化查询语句对应的数据表中的扩展统计信息,获取待优化查询语句对应的基数及待优化查询语句对应的数据分布;
获取用于指示优化目标的优化参数;
基于待优化查询语句对应的基数及待优化查询语句对应的数据分布,获取的基础数据、所述待优化查询语句对应的执行数据及所述优化参数,生成待优化查询语句的至少一个执行计划;
从所述待优化查询语句的至少一个执行计划中将所述优化参数对应的参数值符合预设参数条件的执行计划作为所述优化执行计划。
可选的,生成模块22还用于:
获取与所述关系数据库进行数据通信的业务***的数据评价指标的范围值;
根据数据评价指标的范围值,及/或所述关系数据库的资源负载状态,配置优化参数,其中所述优化参数包括以下至少一种:与数据评价指标对应的查询指标、指示限定优化查询语句的优化时长的优化超时参数、指示所述关系数据库的资源占用的性能参数值。
可选的,执行模块23还用于:
获取每个待优化查询语句的优化顺序,其中优化顺序根据至少以下因素确定:待优化查询语句的等级、待优化查询语句的紧急程度;
根据每个待优化查询语句的优化顺序,依次执行每个待优化查询语句的优化执行计划,直至所述优化完所有待优化查询语句。
可选的,执行模块23还用于:
获取用户对所述待优化查询语句的优化执行计划的操作数据,其中所述操作数据包括以下至少一种:确认执行操作、指示优化目标的优化参数的调整操作、优化顺序调整操作;
基于获取的操作数据,执行所述待优化查询语句的优化执行计划。
可选的,所述关系数据库中执行次数超过预设次数的查询语句对应一个历史执行计划集,执行模块23还用于:
获取所述关系数据库中的当前查询语句的当前执行计划;
在当前查询语句存在历史执行计划集,且当前查询语句的当前执行计划满足预设执行终止条件时,从当前查询语句的历史执行计划集中选取一个历史执行计划作为当前查询语句的当前执行计划。
可选的,在所述根据所述待优化查询语句的优化执行计划,对所述待优化查询语句进行优化查询之前,生成模块22还用于:
基于所述待优化查询语句的优化执行计划,生成优化执行报告,其中优化执行报告的内容包括至少以下一种或者多种的组合:
以与所述关系数据库进行数据通信的业务***为单位,分类显示各个业务***的所述待优化查询语句的优化执行计划;或
根据业务***的数据评价指标类型,分类显示业务***中所述待优化查询语句的优化执行计划;或
根据指示所述关系数据库的资源占用的性能参数类型,分类显示所述待优化查询语句的优化执行计划;或
根据每个待优化查询语句的优化顺序,显示所述待优化查询语句的优化执行计划;或
突出显示基于待优化查询语句的优化执行计划对待优化查询语句优化的优化参数。
本领域技术人员可以理解的是,图4中数据库自动优化装置的结构并不构成对数据库自动优化装置的限定,所述各个模块可以全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的控制器中,也可以以软件形式存储于计算机设备中的存储器中,以便于控制器调用执行以上各个模块对应的操作。在其他实施例中,数据库自动优化装置中可以包括比图示更多或更少的模块。
请参阅图5,本申请实施例的另一方面,还提供了一种电子设备500,包括存储器3011和处理器3012,存储器3011存储有计算机程序,计算机程序被处理器执行时,使得处理器212执行本申请上述任一实施例所提供的数据库自动优化方法的步骤。电子设备500可包括计算设备(例如,台式计算机、膝上型计算机、平板计算机、手持式计算机、智能扬声器、服务器等)、移动电话(例如,智能电话、无线电话等)、可穿戴设备(例如,一对智能眼镜或智能手表)或类似设备。
其中数据库自动优化设备包括但不限于:嵌入式设备、电子设备。
其中处理器3012是控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器3011内的软件程序和/或模块,以及调用存储在存储器3011内的数据,执行计算机设备的各种功能和处理数据。可选的,处理器3012可包括一个或多个处理核心;优选的,处理器3012可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户页面和应用程序等,调制解调处理器主要处理无线通讯。可以理解的是,上述调制解调处理器也可以不集成到处理器3012中。
存储器3011可用于存储软件程序以及模块,处理器3012通过运行存储在存储器3011的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器3011可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器3011可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器3011还可以包括存储器控制器,以提供处理器3012对存储器3011的访问。
本申请实施例另一方面,还提供一种存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行本申请上述任一实施例所提供的数据库自动优化方法的步骤。
本领域普通技术人员可以理解实现上述实施例所提供的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以所述权利要求的保护范围以准。
Claims (8)
1.一种数据库自动优化方法,其特征在于,包括:
获取待优化查询语句及所述待优化查询语句对应的在关系数据库中的执行过程中的执行数据;
获取所述关系数据库中的基础数据;
基于获取的基础数据及所述待优化查询语句对应的执行数据,生成对所述待优化查询语句的优化执行计划;
根据所述待优化查询语句的优化执行计划,对所述待优化查询语句进行优化查询;
所述关系数据库中执行次数超过预设次数的查询语句对应一个历史执行计划集,所述方法还包括:
获取所述关系数据库中的当前查询语句的当前执行计划;
在当前查询语句存在历史执行计划集,且当前查询语句的当前执行计划满足预设执行终止条件时,从当前查询语句的历史执行计划集中的执行计划基线中选取一个历史执行计划作为当前查询语句的当前执行计划,其中所述历史执行计划,其中所述执行计划集是待优化查询语句对应的历史执行计划集的一个子集,其中当前查询语句的当前执行计划满足预设执行终止条件包括:当前查询语句的当前执行计划在执行过程中的一个或者多个评价指标所指示的查询性能低于执行计划基线对应的一个或者多个评价指标所指示的查询性能;
在当前查询语句的当前执行计划在执行过程中的一个或者多个评价指标所指示的查询性能高于执行计划基线对应的一个或者多个评价指标所指示的查询性能时,将前查询语句的当前执行计划更新到历史执行计划集;
其中将所述关系数据库的运行时段划分为工作时间段及空闲时间段,其中所述工作时间段用于指示获取待优化查询语句、获取待优化查询语句对应的执行数据及基础数据的时间段,所述空闲时间段用于指示生成待优化查询语句的优化执行计划及对待优化查询语句进行优化的时间段。
2.如权利要求1所述的数据库自动优化方法,其特征在于,所述获取待优化查询语句及所述待优化查询语句对应的在关系数据库中的执行过程中的执行数据包括以下至少一种:
获取与所述关系数据库进行数据通信的业务***的数据评价指标,从所述关系数据库中的多个查询语句中确定与数据评价指标对应的查询指标不达标的查询语句,将数据评价指标不达标的查询语句作为待优化查询语句;及/或
获取所述关系数据库中在执行过程中占用资源超过预设资源值的查询语句,将占用资源超过预设资源值的查询语句作为待优化查询语句。
3.如权利要求1所述的数据库自动优化方法,其特征在于,所述基于获取的基础数据及所述待优化查询语句对应的执行数据,生成对所述待优化查询语句的优化执行计划包括:
获取待优化查询语句对应的数据表中的扩展统计信息,其中扩展统计信息包括指示列的数据分布的列扩展统计信息,指示多个有关联关系的列的统计信息的关联列扩展统计信息、指示列上使用函数后的统计信息的函数的扩展统计信息、指示列上使用表达式后的统计信息的表达式的扩展统计信息;
基于待优化查询语句对应的数据表中的扩展统计信息,获取待优化查询语句对应的基数及待优化查询语句对应的数据分布;
获取用于指示优化目标的优化参数;
基于待优化查询语句对应的基数及待优化查询语句对应的数据分布,获取的基础数据、所述待优化查询语句对应的执行数据及所述优化参数,生成待优化查询语句的至少一个执行计划;
从所述待优化查询语句的至少一个执行计划中将所述优化参数对应的参数值符合预设参数条件的执行计划作为所述优化执行计划。
4.如权利要求3所述的数据库自动优化方法,其特征在于,所述获取用于指示优化目标的优化参数包括:
获取与所述关系数据库进行数据通信的业务***的数据评价指标的范围值;
根据数据评价指标的范围值,及/或所述关系数据库的资源负载状态,配置优化参数,其中所述优化参数包括以下至少一种:与数据评价指标对应的查询指标、指示限定优化查询语句的优化时长的优化超时参数、指示所述关系数据库的资源占用的性能参数值。
5.如权利要求1所述的数据库自动优化方法,其特征在于,所述待优化查询语句为多条待优化查询语句,所述根据所述待优化查询语句的优化执行计划,对所述待优化查询语句进行优化查询包括:
获取每个待优化查询语句的优化顺序,其中优化顺序根据至少以下因素确定:待优化查询语句的等级、待优化查询语句的紧急程度;
根据每个待优化查询语句的优化顺序,依次执行每个待优化查询语句的优化执行计划,直至所述优化完所有待优化查询语句。
6.如权利要求1所述的数据库自动优化方法,其特征在于,所述根据所述待优化查询语句的优化执行计划,对所述待优化查询语句进行优化查询包括:
获取用户对所述待优化查询语句的优化执行计划的操作数据,其中所述操作数据包括以下至少一种:确认执行操作、指示优化目标的优化参数的调整操作、优化顺序调整操作;
基于获取的操作数据,执行所述待优化查询语句的优化执行计划。
7.如权利要求1所述的数据库自动优化方法,其特征在于,在所述根据所述待优化查询语句的优化执行计划,对所述待优化查询语句进行优化查询之前,所述方法还包括:
基于所述待优化查询语句的优化执行计划,生成优化执行报告,其中优化执行报告的内容包括至少以下一种或者多种的组合:
以与所述关系数据库进行数据通信的业务***为单位,分类显示各个业务***的所述待优化查询语句的优化执行计划;或
根据业务***的数据评价指标类型,分类显示业务***中所述待优化查询语句的优化执行计划;或
根据指示所述关系数据库的资源占用的性能参数类型,分类显示所述待优化查询语句的优化执行计划;或
根据每个待优化查询语句的优化顺序,显示所述待优化查询语句的优化执行计划;或
突出显示基于待优化查询语句的优化执行计划对待优化查询语句优化的优化参数。
8.一种电子设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311560419.8A CN117271481B (zh) | 2023-11-22 | 2023-11-22 | 数据库自动优化方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311560419.8A CN117271481B (zh) | 2023-11-22 | 2023-11-22 | 数据库自动优化方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117271481A CN117271481A (zh) | 2023-12-22 |
CN117271481B true CN117271481B (zh) | 2024-02-23 |
Family
ID=89218188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311560419.8A Active CN117271481B (zh) | 2023-11-22 | 2023-11-22 | 数据库自动优化方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117271481B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118132598B (zh) * | 2024-05-07 | 2024-07-26 | 深圳九有数据库有限公司 | 基于多级缓存的数据库数据处理方法及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108733789A (zh) * | 2018-05-11 | 2018-11-02 | 阿里巴巴集团控股有限公司 | 数据库操作指令的执行计划演进方法、装置以及设备 |
CN115237947A (zh) * | 2022-07-06 | 2022-10-25 | 深圳市酷开网络科技股份有限公司 | Sql数据库的优化处理方法、装置、智能终端及介质 |
CN116561154A (zh) * | 2022-01-28 | 2023-08-08 | 中银金融科技有限公司 | Sql语句优化方法及装置 |
CN117033424A (zh) * | 2023-06-29 | 2023-11-10 | 中国银行股份有限公司 | 慢sql语句的查询优化方法、装置和计算机设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8341178B2 (en) * | 2007-09-18 | 2012-12-25 | Oracle International Corporation | SQL performance analyzer |
US10997171B2 (en) * | 2018-07-01 | 2021-05-04 | Oracle International Corporation | Database performance analysis based on a random archive |
-
2023
- 2023-11-22 CN CN202311560419.8A patent/CN117271481B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108733789A (zh) * | 2018-05-11 | 2018-11-02 | 阿里巴巴集团控股有限公司 | 数据库操作指令的执行计划演进方法、装置以及设备 |
CN116561154A (zh) * | 2022-01-28 | 2023-08-08 | 中银金融科技有限公司 | Sql语句优化方法及装置 |
CN115237947A (zh) * | 2022-07-06 | 2022-10-25 | 深圳市酷开网络科技股份有限公司 | Sql数据库的优化处理方法、装置、智能终端及介质 |
CN117033424A (zh) * | 2023-06-29 | 2023-11-10 | 中国银行股份有限公司 | 慢sql语句的查询优化方法、装置和计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN117271481A (zh) | 2023-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020233330A1 (zh) | 批量测试方法、装置及计算机可读存储介质 | |
CN109240901B (zh) | 性能分析方法、性能分析装置、存储介质和电子设备 | |
US8943059B2 (en) | Systems and methods for merging source records in accordance with survivorship rules | |
US8712972B2 (en) | Query optimization with awareness of limited resource usage | |
CN103390066B (zh) | 一种数据库全局性自动化优化预警装置及其处理方法 | |
US9063973B2 (en) | Method and apparatus for optimizing access path in database | |
CN110795455A (zh) | 依赖关系解析方法、电子装置、计算机设备及可读存储介质 | |
US20150066987A1 (en) | Method and system for accessing a set of data tables in a source database | |
US20120265720A1 (en) | Infrastructure and architecture for development and execution of predictive models | |
CN106293891B (zh) | 多维投资指标监督方法 | |
CN117271481B (zh) | 数据库自动优化方法及设备 | |
CN112988782B (zh) | Hive支持交互式查询的方法、装置及存储介质 | |
US10467226B2 (en) | Method for in-database feature selection for high-dimensional inputs | |
WO2015167466A1 (en) | Query plan post optimization analysis and reoptimization | |
US20160063107A1 (en) | Data retrieval via a telecommunication network | |
US11687512B2 (en) | Index suggestion engine for relational databases | |
CN115335821A (zh) | 卸载统计收集 | |
CN106547860B (zh) | 一种分布式数据库性能故障的定位方法 | |
CN116860311A (zh) | 脚本分析方法、装置、计算机设备及存储介质 | |
CN115099769B (zh) | 一种用于汽车金融订单自动审批的风控审批平台 | |
US20220138229A1 (en) | Technologies for unsupervised data classification with topological methods | |
KR101748378B1 (ko) | 개발공정에서의 응용프로그램의 성능관리 시스템 및 그 방법 | |
CN113868138A (zh) | 测试数据的获取方法、***、设备及存储介质 | |
CN114860759A (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
CN114116773A (zh) | 一种结构化查询语言sql文本审核方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |