CN115168408A - 基于强化学习的查询优化方法、装置、设备及存储介质 - Google Patents
基于强化学习的查询优化方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115168408A CN115168408A CN202210982075.9A CN202210982075A CN115168408A CN 115168408 A CN115168408 A CN 115168408A CN 202210982075 A CN202210982075 A CN 202210982075A CN 115168408 A CN115168408 A CN 115168408A
- Authority
- CN
- China
- Prior art keywords
- query
- statement
- sub
- query statement
- tree
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/2452—Query translation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及计算机技术领域,公开了一种基于强化学习的查询优化方法、装置、设备及存储介质,用于提高查询语句的灵活性。所述方法包括:对第一查询语句进行解析分解,得到第一查询树,并将第一查询树作为Agent对应的第一状态;将查询语句转换为第一状态,得到第二查询语句,并执行第二查询语句并基于第一状态生成第二状态;根据第二状态生成第二查询树,并将第二查询树转换为目标查询语句,以及执行目标查询语句并计算耗时,得到执行耗时;分别获取初始查询语句、第一查询语句、第二查询语句的多个历史耗时,并根据多个历史耗时和执行耗时对Agent进行迭代训练,得到训练完成的Agent。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于强化学习的查询优化方法、装置、设备及存储介质。
背景技术
随着计算机技术的高速发展,查询优化是为计算SQL关系表达式选择最有效且代价最小的查询计划的过程。信息化时代的不断发展带来了数据的爆发式增长,催化了数据库领域相关技术的更新迭代。从传统的关系型数据库到蓬勃发展的NewSQL数据库,从单机数据库到分布式数据库。
如何快速查询处理数据,查询优化器作为影响数据库查询效率的关键组件,查询优化器是数据库实现数据查询的主要方式,但是现有方案缺乏对查询语句的敏感度和灵活性。
发明内容
本发明提供了一种基于强化学习的查询优化方法、装置、设备及存储介质,用于提高查询语句的灵活性。
本发明第一方面提供了一种基于强化学习的查询优化方法,所述基于强化学习的查询优化方法包括:获取待处理的初始查询语句,并对所述初始查询语句进行查询块解析,得到所述初始查询语句对应的待优化的多个第一子查询块;根据预设的子查询属性值对所述多个第一子查询块进行分类,得到子查询分类结果,其中,所述子查询分类结果包括:相关子查询和非相关子查询;根据所述子查询分类结果对所述多个第一子查询块进行查询合并,得到所述多个第一子查询块对应的第二子查询块,并根据所述第二子查询块生成第一查询语句;按照预置的查询谓词对所述第一查询语句进行解析分解,并将解析分解后的第一查询语句存储为查询树的结构形式,得到第一查询树,并将所述第一查询树作为预置的Agent对应的第一状态;将所述查询语句转换为所述第一状态,得到第二查询语句,并执行所述第二查询语句并基于所述第一状态生成所述Agent对应的第二状态;根据所述第二状态生成第二查询树,并将所述第二查询树转换为目标查询语句,以及执行所述目标查询语句并计算所述目标查询语句执行的耗时,得到执行耗时;分别获取所述初始查询语句、所述第一查询语句、所述第二查询语句对应的多个历史耗时,并根据所述多个历史耗时和所述执行耗时对所述Agent进行迭代训练,得到训练完成的Agent。
可选的,在本发明第一方面的第一种实现方式中,所述基于强化学习的查询优化方法还包括:获取所述多个第一子查询块对应的内层查询块和外层查询块;提取所述内层查询块的第一FORM子句,并获取所述外层查询块的第二FROM子句;将所述第一FORM子句和所述第二FROM子句连接为目标FROM子句并修改所述初始查询语句的运行参数和谓词符号,生成第一查询语句。
可选的,在本发明第一方面的第二种实现方式中,所述按照预置的查询谓词对所述第一查询语句进行解析分解,并将解析分解后的第一查询语句存储为查询树的结构形式,得到第一查询树,并将所述第一查询树作为预置的Agent对应的第一状态,包括:按照预置的查询谓词获取所述第一查询语句的语义特征,得到语义特征,其中,所述语义特征包括:语义相近和半连接语义;根据所述语义特征对所述第一查询语句进行解析分解,得到解析分解后的第一查询语句;将所述解析分解后的第一查询语句存储为查询树的结构形式,得到第一查询树;将所述第一查询树作为预置的Agent对应的第一状态。
可选的,在本发明第一方面的第三种实现方式中,所述基于强化学习的查询优化方法还包括:获取所述初始查询语句的多个存取路径;调用预置的代价评估模型分别计算所述多个存取路径的消耗,得到每个存取路径的消耗;对每个存取路径的消耗进行比较,并将消耗最小的存取路径作为子路径,直至所有表连接完成,得到查询树。
可选的,在本发明第一方面的第四种实现方式中,所述基于强化学习的查询优化方法还包括:在预置的缓存数据库中设置缓冲块;分别获取所述初始查询语句、所述第一查询语句和所述第二查询语句对应的初始查询结果、第一查询结果和第二查询结果,并根据所述初始查询结果、所述第一查询结果和所述第二查询结果生成结果数据集;将所述初始查询语句、所述第一查询语句、所述第二查询语句和所述结果数据集存储至所述缓冲块。
可选的,在本发明第一方面的第五种实现方式中,所述基于强化学习的查询优化方法还包括:接收待查询语句,并对所述待查询语句和所述缓冲块中的查询语句进行匹配,得到匹配结果;若所述匹配结果为所述缓冲块中存在与所述待查询语句相同的查询语句,则从所述缓冲块中查询所述待查询语句对应的查询结果。
可选的,在本发明第一方面的第六种实现方式中,所述根据所述第二状态生成第二查询树,并将所述第二查询树转换为目标查询语句,以及执行所述目标查询语句并计算所述目标查询语句执行的耗时,得到执行耗时,包括:根据所述第二状态生成第二查询树;将所述第二查询树转换为目标查询语句;将所述目标查询语句分解为多个子操作;分别执行所述多个子操作并计算所述多个子操作执行的耗时,得到执行耗时。
本发明第二方面提供了一种基于强化学习的查询优化装置,所述基于强化学习的查询优化装置包括:获取模块,用于获取待处理的初始查询语句,并对所述初始查询语句进行查询块解析,得到所述初始查询语句对应的待优化的多个第一子查询块;分类模块,用于根据预设的子查询属性值对所述多个第一子查询块进行分类,得到子查询分类结果,其中,所述子查询分类结果包括:相关子查询和非相关子查询;合并模块,用于根据所述子查询分类结果对所述多个第一子查询块进行查询合并,得到所述多个第一子查询块对应的第二子查询块,并根据所述第二子查询块生成第一查询语句;分解模块,用于按照预置的查询谓词对所述第一查询语句进行解析分解,并将解析分解后的第一查询语句存储为查询树的结构形式,得到第一查询树,并将所述第一查询树作为预置的Agent对应的第一状态;处理模块,用于将所述查询语句转换为所述第一状态,得到第二查询语句,并执行所述第二查询语句并基于所述第一状态生成所述Agent对应的第二状态;计算模块,用于根据所述第二状态生成第二查询树,并将所述第二查询树转换为目标查询语句,以及执行所述目标查询语句并计算所述目标查询语句执行的耗时,得到执行耗时;生成模块,用于分别获取所述初始查询语句、所述第一查询语句、所述第二查询语句对应的多个历史耗时,并根据所述多个历史耗时和所述执行耗时对所述Agent进行迭代训练,得到训练完成的Agent。
可选的,在本发明第二方面的第一种实现方式中,所述基于强化学习的查询优化装置还包括:连接模块,用于获取所述多个第一子查询块对应的内层查询块和外层查询块;提取所述内层查询块的第一FORM子句,并获取所述外层查询块的第二FROM子句;将所述第一FORM子句和所述第二FROM子句连接为目标FROM子句并修改所述初始查询语句的运行参数和谓词符号,生成第一查询语句。
可选的,在本发明第二方面的第二种实现方式中,所述分解模块具体用于:按照预置的查询谓词获取所述第一查询语句的语义特征,得到语义特征,其中,所述语义特征包括:语义相近和半连接语义;根据所述语义特征对所述第一查询语句进行解析分解,得到解析分解后的第一查询语句;将所述解析分解后的第一查询语句存储为查询树的结构形式,得到第一查询树;将所述第一查询树作为预置的Agent对应的第一状态。
可选的,在本发明第二方面的第三种实现方式中,所述基于强化学习的查询优化装置还包括:比较模块,用于获取所述初始查询语句的多个存取路径;调用预置的代价评估模型分别计算所述多个存取路径的消耗,得到每个存取路径的消耗;对每个存取路径的消耗进行比较,并将消耗最小的存取路径作为子路径,直至所有表连接完成,得到查询树。
可选的,在本发明第二方面的第四种实现方式中,所述基于强化学习的查询优化装置还包括:存储模块,用于在预置的缓存数据库中设置缓冲块;分别获取所述初始查询语句、所述第一查询语句和所述第二查询语句对应的初始查询结果、第一查询结果和第二查询结果,并根据所述初始查询结果、所述第一查询结果和所述第二查询结果生成结果数据集;将所述初始查询语句、所述第一查询语句、所述第二查询语句和所述结果数据集存储至所述缓冲块。
可选的,在本发明第二方面的第五种实现方式中,所述基于强化学习的查询优化装置还包括:匹配模块,用于接收待查询语句,并对所述待查询语句和所述缓冲块中的查询语句进行匹配,得到匹配结果;若所述匹配结果为所述缓冲块中存在与所述待查询语句相同的查询语句,则从所述缓冲块中查询所述待查询语句对应的查询结果。
可选的,在本发明第二方面的第六种实现方式中,所述计算模块具体用于:根据所述第二状态生成第二查询树;将所述第二查询树转换为目标查询语句;将所述目标查询语句分解为多个子操作;分别执行所述多个子操作并计算所述多个子操作执行的耗时,得到执行耗时。
本发明第三方面提供了一种基于强化学习的查询优化设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述基于强化学习的查询优化设备执行上述的基于强化学习的查询优化方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的基于强化学习的查询优化方法。
本发明提供的技术方案中,获取待处理的初始查询语句,并对所述初始查询语句进行查询块解析,得到所述初始查询语句对应的待优化的多个第一子查询块;根据预设的子查询属性值对所述多个第一子查询块进行分类,得到子查询分类结果,其中,所述子查询分类结果包括:相关子查询和非相关子查询;根据所述子查询分类结果对所述多个第一子查询块进行查询合并,得到所述多个第一子查询块对应的第二子查询块,并根据所述第二子查询块生成第一查询语句;按照预置的查询谓词对所述第一查询语句进行解析分解,并将解析分解后的第一查询语句存储为查询树的结构形式,得到第一查询树,并将所述第一查询树作为预置的Agent对应的第一状态;将所述查询语句转换为所述第一状态,得到第二查询语句,并执行所述第二查询语句并基于所述第一状态生成所述Agent对应的第二状态;根据所述第二状态生成第二查询树,并将所述第二查询树转换为目标查询语句,以及执行所述目标查询语句并计算所述目标查询语句执行的耗时,得到执行耗时;分别获取所述初始查询语句、所述第一查询语句、所述第二查询语句对应的多个历史耗时,并根据所述多个历史耗时和所述执行耗时对所述Agent进行迭代训练,得到训练完成的Agent。本发明通过对查询语句进行分块操作和分类操作,提高了查询语句的识别效率,然后通过为数据库建立查询树,将查询树作为Agent的状态,数据库自动进行参数的配置,实现了Agent的自动调优,并且通过将历史查询语句和查询结果进行存储和匹配,进而提高了查询语句的灵活性。
附图说明
图1为本发明实施例中基于强化学习的查询优化方法的一个实施例示意图;
图2为本发明实施例中基于强化学习的查询优化装置的一个实施例示意图;
图3为本发明实施例中基于强化学习的查询优化装置的另一个实施例示意图;
图4为本发明实施例中基于强化学习的查询优化设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种基于强化学习的查询优化方法、装置、设备及存储介质,用于提高查询语句的灵活性。本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中基于强化学习的查询优化方法的一个实施例包括:
101、获取待处理的初始查询语句,并对初始查询语句进行查询块解析,得到初始查询语句对应的待优化的多个第一子查询块;
可以理解的是,本发明的执行主体可以为基于强化学习的查询优化装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
可选的,获取多个第一子查询块对应的内层查询块和外层查询块;提取内层查询块的第一FORM子句,并获取外层查询块的第二FROM子句;将第一FORM子句和第二FROM子句连接为目标FROM子句并修改初始查询语句的运行参数和谓词符号,生成第一查询语句。
具体的,对初始查询语句进行优化,优化的方式为根据内层查询语句的查询项与派生表的列的对应关系,消除内层查询语句中的FORM子句,获取优化后的初始查询语句。本实施例中的优化后的初始查询语句与初始查询语句等价,但是,由于消除了内层查询语句中的FORM子句,在执行优化后的初始查询语句时,分组次数减少,从而,提高了初始查询语句的执行效率。具体的,服务器确定内层查询语句的查询项,以及,派生表的列之间的映射关系;根据映射关系,消除内层查询语句中的FORM子句,获取优化后的初始查询语句,最终服务器将第一FORM子句和第二FROM子句连接为目标FROM子句并修改初始查询语句的运行参数和谓词符号,生成第一查询语句,可以根据上述方式,获取优化后的初始查询语句,能够实现简单、高效的语句获取过程。
102、根据预设的子查询属性值对多个第一子查询块进行分类,得到子查询分类结果,其中,子查询分类结果包括:相关子查询和非相关子查询;
需要说明的是,存在父子关系的两个查询节点互为关联查询节点。两个关联查询节点对应的数据库之间存在关联属性值,关联属性值即两个关联数据库之间属性相同的数据,某一个数据库中的关联属性值可以为其关联数据库的主键或外键,如某个查询树的第一级查询节点对应的数据库为为业务数据库,包括业务编码、业务名称、订单编号等信息,第二级查询节点对应的数据库为订单数据库,包括订单编码、公司信息;第三级查询节点对应的数据库为数据库,包括公司信息、配送人员信息,其中,第一级查询节点对应的数据库与第二级查询节点对应的数据库之间的关联属性值为订单编号信息,第二级查询节点对应的数据库与第三级查询节点对应的数据库之间的关联属性值为公司信息,进而服务器得到子查询分类结果,其中,子查询分类结果包括:相关子查询和非相关子查询,其在相应候选查询时间的目标业务属性值,能够提升信息查询效率。
103、根据子查询分类结果对多个第一子查询块进行查询合并,得到多个第一子查询块对应的第二子查询块,并根据第二子查询块生成第一查询语句;
具体的,根据子查询分类结果对多个第一子查询块进行查询合并,得到多个第一子查询块对应的第二子查询块,进而服务器获取用户输入的查询信息,其中,查询信息包括:目标数据源以及目标待查询字段;根据预设的数据源与数据表的匹配关系,获得数据库中与目标数据源匹配的目标数据表,根据预设的待查询字段与数据表中字段的匹配关系,获得目标数据表中与目标待查询字段匹配的目标字段;用目标数据表以及目标字段填充预设的查询语句生成结构,生成目标查询语句。应用本发明实施例提供的技术方案进行查询语句生成时,提高了生成查询语句的效率。
104、按照预置的查询谓词对第一查询语句进行解析分解,并将解析分解后的第一查询语句存储为查询树的结构形式,得到第一查询树,并将第一查询树作为预置的Agent对应的第一状态;
具体的,按照预置的查询谓词获取第一查询语句的语义特征,得到语义特征,其中,语义特征包括:语义相近和半连接语义;根据语义特征对第一查询语句进行解析分解,得到解析分解后的第一查询语句;将解析分解后的第一查询语句存储为查询树的结构形式,得到第一查询树;将第一查询树作为预置的Agent对应的第一状态。
可选的,从语料库中检索得到与查询语句的字重合比例大于预设阈值的查询谓词,根据语料库的查询谓词与下半句语句的对应关系,从语料库中筛选出与检索得到的查询谓词对应的下半句语句,组成回复语句候选集合;分别计算查询语句与回复语句候选集合中的各个语句的语义匹配度,得到对应的语义特征,进而服务器根据语义特征对第一查询语句进行解析分解,得到解析分解后的第一查询语句,从语句候选集合中,筛选出与查询语句的语义匹配度大于预设的语义匹配度阈值的语句,作为查询语句的回复语句,最终服务器将解析分解后的第一查询语句存储为查询树的结构形式,得到第一查询树;将第一查询树作为预置的Agent对应的第一状态,上述查询语句检索回复方法摆脱了对规则和模板的依赖,从根本上解决了规则和模板对查询语句回复质量的约束,可以提高查询语句回复质量。
可选的,获取初始查询语句的多个存取路径;调用预置的代价评估模型分别计算多个存取路径的消耗,得到每个存取路径的消耗;对每个存取路径的消耗进行比较,并将消耗最小的存取路径作为子路径,直至所有表连接完成,得到查询树。
需要说明的是,根据两个子查询语句从目标数据图中查询得到对应的子查询匹配结果,最后对两子查询匹配结果中的边匹配结果进行跳跃式连接的边扩展,可以得到与查询语句对应的最终边匹配结果,本发明实施例中,服务器调用预置的代价评估模型分别计算多个存取路径的消耗,得到每个存取路径的消耗;对每个存取路径的消耗进行比较,并将消耗最小的存取路径作为子路径,直至所有表连接完成,得到查询树,进而可有效减少中间结果的产生及存储压力,加快计算,提高查询性能,同时保证最快情况下的最优性,便于实际应用和推广。
105、将查询语句转换为第一状态,得到第二查询语句,并执行第二查询语句并基于第一状态生成Agent对应的第二状态;
需要说明的是,Agent对应的状态包括用户个性化Agent、移动Agent、调度管理Agent、检索合成Agent和公共兴趣黑板,用户个性化Agent学习用户检索兴趣知识,支持个性化和群组推送服务,移动Agent挖掘客户端记录,与用户个性化Agent交互,更新用户兴趣知识,调度管理Agent产生个性化调度策略;检索合成Agent与调度管理Agent和用户个性化Agent交互,为用户提供个性化查询结果,具体的,服务器将查询语句转换为第一状态,得到第二查询语句,并执行第二查询语句并基于第一状态生成Agent对应的第二状态,通过Agent的自主性、学习性和协作性特征实现元搜索引擎智能化搜索、调度和结果合成,具有查询覆盖率高、个性化和智能化程度高的优点。
106、根据第二状态生成第二查询树,并将第二查询树转换为目标查询语句,以及执行目标查询语句并计算目标查询语句执行的耗时,得到执行耗时;
具体的,根据第二状态生成第二查询树;将第二查询树转换为目标查询语句;将目标查询语句分解为多个子操作;分别执行多个子操作并计算多个子操作执行的耗时,得到执行耗时。
具体的,服务器获取查询信息,其中,查询信息中包括连接符及查询条件,以连接符为连接节点,查询条件为条件节点,构建多叉查询树;其中,连接节点为多叉查询树中的根节点或父节点,条件节点为多叉查询树中的叶子节点;遍历多叉查询树中的每个节点,并对每个节点解析后进行拼接,得到DSL语句。本发明根据用户输入的查询信息转化为多叉查询树,进而服务器将第二查询树转换为待查询语句;将待查询语句分解为多个子操作;分别执行多个子操作并计算多个子操作执行的耗时,得到执行耗时,本发明通过对多叉查询树中的每个节点进行顺序解析后组合成完整的查询语句,提高了非专业人员使用的便利性及DSL语句生成速度。
107、分别获取初始查询语句、第一查询语句、第二查询语句对应的多个历史耗时,并根据多个历史耗时和执行耗时对Agent进行迭代训练,得到训练完成的Agent。
可选的,在预置的缓存数据库中设置缓冲块;分别获取初始查询语句、第一查询语句和第二查询语句对应的初始查询结果、第一查询结果和第二查询结果,并根据初始查询结果、第一查询结果和第二查询结果生成结果数据集;将初始查询语句、第一查询语句、第二查询语句和结果数据集存储至缓冲块。
其中,服务器在预置的缓存数据库中设置缓冲块;分别获取初始查询语句、第一查询语句和第二查询语句对应的初始查询结果、第一查询结果和第二查询结果,进而服务器获取多组第一样本数据;将每一组第一样本数据输入Agent,基于监督学习对Agent进行迭代训练,直至Agent收敛,获得不同级别中每个级别对应的Agent的Agent;随机初始化Agent进行样本生成操作,获取第二样本数据;将第二样本数据反向传播输入至Agent,基于强化学习对Agent进行迭代训练,并根据初始查询结果、第一查询结果和第二查询结果生成结果数据集;将初始查询语句、第一查询语句、第二查询语句和结果数据集存储至缓冲块。基于强化学习对Agent进行迭代训练的步骤,直至Agent收敛。
可选的,接收待查询语句,并对待查询语句和缓冲块中的查询语句进行匹配,得到匹配结果;若匹配结果为缓冲块中存在与待查询语句相同的查询语句,则从缓冲块中查询待查询语句对应的查询结果。
具体的,获取用户输入的待查询语句和目标模型,其中,目标模型通过预置的目标样本集迭代训练第一神经网络模型得到;对目标模型进行迁移,得到数据展示意图分类模型;根据待查询语句、目标模型和数据展示意图分类模型生成查询结果,并显示所述查询结果,可选的,服务器还可以通过对待查询语句和缓冲块中的查询语句进行匹配,得到匹配结果;若匹配结果为缓冲块中存在与待查询语句相同的查询语句,则从缓冲块中查询待查询语句对应的查询结果通过本发明的技术方案,能够基于语义解析和意图识别的自动生成查询结果,减少了开发人员的工作量,提升了信息查询效率。
本发明实施例中,获取待处理的初始查询语句,并对初始查询语句进行查询块解析,得到初始查询语句对应的待优化的多个第一子查询块;根据预设的子查询属性值对多个第一子查询块进行分类,得到子查询分类结果,其中,子查询分类结果包括:相关子查询和非相关子查询;根据子查询分类结果对多个第一子查询块进行查询合并,得到多个第一子查询块对应的第二子查询块,并根据第二子查询块生成第一查询语句;按照预置的查询谓词对第一查询语句进行解析分解,并将解析分解后的第一查询语句存储为查询树的结构形式,得到第一查询树,并将第一查询树作为预置的Agent对应的第一状态;将查询语句转换为第一状态,得到第二查询语句,并执行第二查询语句并基于第一状态生成Agent对应的第二状态;根据第二状态生成第二查询树,并将第二查询树转换为目标查询语句,以及执行目标查询语句并计算目标查询语句执行的耗时,得到执行耗时;分别获取初始查询语句、第一查询语句、第二查询语句对应的多个历史耗时,并根据多个历史耗时和执行耗时对Agent进行迭代训练,得到训练完成的Agent。本发明通过对查询语句进行分块操作和分类操作,提高了查询语句的识别效率,然后通过为数据库建立查询树,将查询树作为Agent的状态,数据库自动进行参数的配置,实现了Agent的自动调优,并且通过将历史查询语句和查询结果进行存储和匹配,进而提高了查询语句的灵活性。
上面对本发明实施例中基于强化学习的查询优化方法进行了描述,下面对本发明实施例中基于强化学习的查询优化装置进行描述,请参阅图2,本发明实施例中基于强化学习的查询优化装置一个实施例包括:
获取模块201,用于获取待处理的初始查询语句,并对所述初始查询语句进行查询块解析,得到所述初始查询语句对应的待优化的多个第一子查询块;
分类模块202,用于根据预设的子查询属性值对所述多个第一子查询块进行分类,得到子查询分类结果,其中,所述子查询分类结果包括:相关子查询和非相关子查询;
合并模块203,用于根据所述子查询分类结果对所述多个第一子查询块进行查询合并,得到所述多个第一子查询块对应的第二子查询块,并根据所述第二子查询块生成第一查询语句;
分解模块204,用于按照预置的查询谓词对所述第一查询语句进行解析分解,并将解析分解后的第一查询语句存储为查询树的结构形式,得到第一查询树,并将所述第一查询树作为预置的Agent对应的第一状态;
处理模块205,用于将所述查询语句转换为所述第一状态,得到第二查询语句,并执行所述第二查询语句并基于所述第一状态生成所述Agent对应的第二状态;
计算模块206,用于根据所述第二状态生成第二查询树,并将所述第二查询树转换为目标查询语句,以及执行所述目标查询语句并计算所述目标查询语句执行的耗时,得到执行耗时;
生成模块207,用于分别获取所述初始查询语句、所述第一查询语句、所述第二查询语句对应的多个历史耗时,并根据所述多个历史耗时和所述执行耗时对所述Agent进行迭代训练,得到训练完成的Agent。
本发明实施例中,获取待处理的初始查询语句,并对所述初始查询语句进行查询块解析,得到所述初始查询语句对应的待优化的多个第一子查询块;根据预设的子查询属性值对所述多个第一子查询块进行分类,得到子查询分类结果,其中,所述子查询分类结果包括:相关子查询和非相关子查询;根据所述子查询分类结果对所述多个第一子查询块进行查询合并,得到所述多个第一子查询块对应的第二子查询块,并根据所述第二子查询块生成第一查询语句;按照预置的查询谓词对所述第一查询语句进行解析分解,并将解析分解后的第一查询语句存储为查询树的结构形式,得到第一查询树,并将所述第一查询树作为预置的Agent对应的第一状态;将所述查询语句转换为所述第一状态,得到第二查询语句,并执行所述第二查询语句并基于所述第一状态生成所述Agent对应的第二状态;根据所述第二状态生成第二查询树,并将所述第二查询树转换为目标查询语句,以及执行所述目标查询语句并计算所述目标查询语句执行的耗时,得到执行耗时;分别获取所述初始查询语句、所述第一查询语句、所述第二查询语句对应的多个历史耗时,并根据所述多个历史耗时和所述执行耗时对所述Agent进行迭代训练,得到训练完成的Agent。本发明通过对查询语句进行分块操作和分类操作,提高了查询语句的识别效率,然后通过为数据库建立查询树,将查询树作为Agent的状态,数据库自动进行参数的配置,实现了Agent的自动调优,并且通过将历史查询语句和查询结果进行存储和匹配,进而提高了查询语句的灵活性。
请参阅图3,本发明实施例中基于强化学习的查询优化装置另一个实施例包括:
获取模块201,用于获取待处理的初始查询语句,并对所述初始查询语句进行查询块解析,得到所述初始查询语句对应的待优化的多个第一子查询块;
分类模块202,用于根据预设的子查询属性值对所述多个第一子查询块进行分类,得到子查询分类结果,其中,所述子查询分类结果包括:相关子查询和非相关子查询;
合并模块203,用于根据所述子查询分类结果对所述多个第一子查询块进行查询合并,得到所述多个第一子查询块对应的第二子查询块,并根据所述第二子查询块生成第一查询语句;
分解模块204,用于按照预置的查询谓词对所述第一查询语句进行解析分解,并将解析分解后的第一查询语句存储为查询树的结构形式,得到第一查询树,并将所述第一查询树作为预置的Agent对应的第一状态;
处理模块205,用于将所述查询语句转换为所述第一状态,得到第二查询语句,并执行所述第二查询语句并基于所述第一状态生成所述Agent对应的第二状态;
计算模块206,用于根据所述第二状态生成第二查询树,并将所述第二查询树转换为目标查询语句,以及执行所述目标查询语句并计算所述目标查询语句执行的耗时,得到执行耗时;
生成模块207,用于分别获取所述初始查询语句、所述第一查询语句、所述第二查询语句对应的多个历史耗时,并根据所述多个历史耗时和所述执行耗时对所述Agent进行迭代训练,得到训练完成的Agent。
可选的,所述基于强化学习的查询优化装置还包括:
连接模块208,用于获取所述多个第一子查询块对应的内层查询块和外层查询块;提取所述内层查询块的第一FORM子句,并获取所述外层查询块的第二FROM子句;将所述第一FORM子句和所述第二FROM子句连接为目标FROM子句并修改所述初始查询语句的运行参数和谓词符号,生成第一查询语句。
可选的,所述分解模块204具体用于:按照预置的查询谓词获取所述第一查询语句的语义特征,得到语义特征,其中,所述语义特征包括:语义相近和半连接语义;根据所述语义特征对所述第一查询语句进行解析分解,得到解析分解后的第一查询语句;将所述解析分解后的第一查询语句存储为查询树的结构形式,得到第一查询树;将所述第一查询树作为预置的Agent对应的第一状态。
可选的,所述基于强化学习的查询优化装置还包括:
比较模块209,用于获取所述初始查询语句的多个存取路径;调用预置的代价评估模型分别计算所述多个存取路径的消耗,得到每个存取路径的消耗;对每个存取路径的消耗进行比较,并将消耗最小的存取路径作为子路径,直至所有表连接完成,得到查询树。
可选的,所述基于强化学习的查询优化装置还包括:
存储模块210,用于在预置的缓存数据库中设置缓冲块;分别获取所述初始查询语句、所述第一查询语句和所述第二查询语句对应的初始查询结果、第一查询结果和第二查询结果,并根据所述初始查询结果、所述第一查询结果和所述第二查询结果生成结果数据集;将所述初始查询语句、所述第一查询语句、所述第二查询语句和所述结果数据集存储至所述缓冲块。
可选的,所述基于强化学习的查询优化装置还包括:
匹配模块211,用于接收待查询语句,并对所述待查询语句和所述缓冲块中的查询语句进行匹配,得到匹配结果;若所述匹配结果为所述缓冲块中存在与所述待查询语句相同的查询语句,则从所述缓冲块中查询所述待查询语句对应的查询结果。
可选的,所述计算模块206具体用于:根据所述第二状态生成第二查询树;将所述第二查询树转换为目标查询语句;将所述目标查询语句分解为多个子操作;分别执行所述多个子操作并计算所述多个子操作执行的耗时,得到执行耗时。
本发明实施例中,获取待处理的初始查询语句,并对所述初始查询语句进行查询块解析,得到所述初始查询语句对应的待优化的多个第一子查询块;根据预设的子查询属性值对所述多个第一子查询块进行分类,得到子查询分类结果,其中,所述子查询分类结果包括:相关子查询和非相关子查询;根据所述子查询分类结果对所述多个第一子查询块进行查询合并,得到所述多个第一子查询块对应的第二子查询块,并根据所述第二子查询块生成第一查询语句;按照预置的查询谓词对所述第一查询语句进行解析分解,并将解析分解后的第一查询语句存储为查询树的结构形式,得到第一查询树,并将所述第一查询树作为预置的Agent对应的第一状态;将所述查询语句转换为所述第一状态,得到第二查询语句,并执行所述第二查询语句并基于所述第一状态生成所述Agent对应的第二状态;根据所述第二状态生成第二查询树,并将所述第二查询树转换为目标查询语句,以及执行所述目标查询语句并计算所述目标查询语句执行的耗时,得到执行耗时;分别获取所述初始查询语句、所述第一查询语句、所述第二查询语句对应的多个历史耗时,并根据所述多个历史耗时和所述执行耗时对所述Agent进行迭代训练,得到训练完成的Agent。本发明通过对查询语句进行分块操作和分类操作,提高了查询语句的识别效率,然后通过为数据库建立查询树,将查询树作为Agent的状态,数据库自动进行参数的配置,实现了Agent的自动调优,并且通过将历史查询语句和查询结果进行存储和匹配,进而提高了查询语句的灵活性。
上面图2和图3从模块化功能Agent的角度对本发明实施例中的基于强化学习的查询优化装置进行详细描述,下面从硬件处理的角度对本发明实施例中基于强化学习的查询优化设备进行详细描述。
图4是本发明实施例提供的一种基于强化学习的查询优化设备的结构示意图,该基于强化学习的查询优化设备400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)410(例如,一个或一个以上处理器)和存储器420,一个或一个以上存储应用程序433或数据432的存储介质430(例如一个或一个以上海量存储设备)。其中,存储器420和存储介质430可以是短暂存储或持久存储。存储在存储介质430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对基于强化学习的查询优化设备400中的一系列指令操作。更进一步地,处理器410可以设置为与存储介质430通信,在基于强化学习的查询优化设备400上执行存储介质430中的一系列指令操作。
基于强化学习的查询优化设备400还可以包括一个或一个以上电源440,一个或一个以上有线或无线网络接口450,一个或一个以上输入输出接口460,和/或,一个或一个以上操作系统431,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图4示出的基于强化学习的查询优化设备结构并不构成对基于强化学习的查询优化设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种基于强化学习的查询优化设备,所述基于强化学习的查询优化设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述基于强化学习的查询优化方法的步骤。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述基于强化学习的查询优化方法的步骤。
进一步地,计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于强化学习的查询优化方法,其特征在于,所述基于强化学习的查询优化方法包括:
获取待处理的初始查询语句,并对所述初始查询语句进行查询块解析,得到所述初始查询语句对应的待优化的多个第一子查询块;
根据预设的子查询属性值对所述多个第一子查询块进行分类,得到子查询分类结果,其中,所述子查询分类结果包括:相关子查询和非相关子查询;
根据所述子查询分类结果对所述多个第一子查询块进行查询合并,得到所述多个第一子查询块对应的第二子查询块,并根据所述第二子查询块生成第一查询语句;
按照预置的查询谓词对所述第一查询语句进行解析分解,并将解析分解后的第一查询语句存储为查询树的结构形式,得到第一查询树,并将所述第一查询树作为预置的Agent对应的第一状态;
将所述查询语句转换为所述第一状态,得到第二查询语句,并执行所述第二查询语句并基于所述第一状态生成所述Agent对应的第二状态;
根据所述第二状态生成第二查询树,并将所述第二查询树转换为目标查询语句,以及执行所述目标查询语句并计算所述目标查询语句执行的耗时,得到执行耗时;
分别获取所述初始查询语句、所述第一查询语句、所述第二查询语句对应的多个历史耗时,并根据所述多个历史耗时和所述执行耗时对所述Agent进行迭代训练,得到训练完成的Agent。
2.根据权利要求1所述的基于强化学习的查询优化方法,其特征在于,所述基于强化学习的查询优化方法还包括:
获取所述多个第一子查询块对应的内层查询块和外层查询块;
提取所述内层查询块的第一FORM子句,并获取所述外层查询块的第二FROM子句;
将所述第一FORM子句和所述第二FROM子句连接为目标FROM子句并修改所述初始查询语句的运行参数和谓词符号,生成第一查询语句。
3.根据权利要求1所述的基于强化学习的查询优化方法,其特征在于,所述按照预置的查询谓词对所述第一查询语句进行解析分解,并将解析分解后的第一查询语句存储为查询树的结构形式,得到第一查询树,并将所述第一查询树作为预置的Agent对应的第一状态,包括:
按照预置的查询谓词获取所述第一查询语句的语义特征,得到语义特征,其中,所述语义特征包括:语义相近和半连接语义;
根据所述语义特征对所述第一查询语句进行解析分解,得到解析分解后的第一查询语句;
将所述解析分解后的第一查询语句存储为查询树的结构形式,得到第一查询树;
将所述第一查询树作为预置的Agent对应的第一状态。
4.根据权利要求1所述的基于强化学习的查询优化方法,其特征在于,所述基于强化学习的查询优化方法还包括:
获取所述初始查询语句的多个存取路径;
调用预置的代价评估模型分别计算所述多个存取路径的消耗,得到每个存取路径的消耗;
对每个存取路径的消耗进行比较,并将消耗最小的存取路径作为子路径,直至所有表连接完成,得到查询树。
5.根据权利要求1所述的基于强化学习的查询优化方法,其特征在于,所述基于强化学习的查询优化方法还包括:
在预置的缓存数据库中设置缓冲块;
分别获取所述初始查询语句、所述第一查询语句和所述第二查询语句对应的初始查询结果、第一查询结果和第二查询结果,并根据所述初始查询结果、所述第一查询结果和所述第二查询结果生成结果数据集;
将所述初始查询语句、所述第一查询语句、所述第二查询语句和所述结果数据集存储至所述缓冲块。
6.根据权利要求5所述的基于强化学习的查询优化方法,其特征在于,所述基于强化学习的查询优化方法还包括:
接收待查询语句,并对所述待查询语句和所述缓冲块中的查询语句进行匹配,得到匹配结果;
若所述匹配结果为所述缓冲块中存在与所述待查询语句相同的查询语句,则从所述缓冲块中查询所述待查询语句对应的查询结果。
7.根据权利要求1-6中任一项所述的基于强化学习的查询优化方法,其特征在于,所述根据所述第二状态生成第二查询树,并将所述第二查询树转换为目标查询语句,以及执行所述目标查询语句并计算所述目标查询语句执行的耗时,得到执行耗时,包括:
根据所述第二状态生成第二查询树;
将所述第二查询树转换为目标查询语句;
将所述目标查询语句分解为多个子操作;
分别执行所述多个子操作并计算所述多个子操作执行的耗时,得到执行耗时。
8.一种基于强化学习的查询优化装置,其特征在于,所述基于强化学习的查询优化装置包括:
获取模块,用于获取待处理的初始查询语句,并对所述初始查询语句进行查询块解析,得到所述初始查询语句对应的待优化的多个第一子查询块;
分类模块,用于根据预设的子查询属性值对所述多个第一子查询块进行分类,得到子查询分类结果,其中,所述子查询分类结果包括:相关子查询和非相关子查询;
合并模块,用于根据所述子查询分类结果对所述多个第一子查询块进行查询合并,得到所述多个第一子查询块对应的第二子查询块,并根据所述第二子查询块生成第一查询语句;
分解模块,用于按照预置的查询谓词对所述第一查询语句进行解析分解,并将解析分解后的第一查询语句存储为查询树的结构形式,得到第一查询树,并将所述第一查询树作为预置的Agent对应的第一状态;
处理模块,用于将所述查询语句转换为所述第一状态,得到第二查询语句,并执行所述第二查询语句并基于所述第一状态生成所述Agent对应的第二状态;
计算模块,用于根据所述第二状态生成第二查询树,并将所述第二查询树转换为目标查询语句,以及执行所述目标查询语句并计算所述目标查询语句执行的耗时,得到执行耗时;
生成模块,用于分别获取所述初始查询语句、所述第一查询语句、所述第二查询语句对应的多个历史耗时,并根据所述多个历史耗时和所述执行耗时对所述Agent进行迭代训练,得到训练完成的Agent。
9.一种基于强化学习的查询优化设备,其特征在于,所述基于强化学习的查询优化设备包括:存储器和至少一个处理器,所述存储器中存储有指令;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述基于强化学习的查询优化设备执行如权利要求1-7中任一项所述的基于强化学习的查询优化方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现如权利要求1-7中任一项所述的基于强化学习的查询优化方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210982075.9A CN115168408B (zh) | 2022-08-16 | 2022-08-16 | 基于强化学习的查询优化方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210982075.9A CN115168408B (zh) | 2022-08-16 | 2022-08-16 | 基于强化学习的查询优化方法、装置、设备及存储介质 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN115168408A true CN115168408A (zh) | 2022-10-11 |
| CN115168408B CN115168408B (zh) | 2024-05-28 |
Family
ID=83479539
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202210982075.9A Active CN115168408B (zh) | 2022-08-16 | 2022-08-16 | 基于强化学习的查询优化方法、装置、设备及存储介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN115168408B (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117033411A (zh) * | 2023-08-04 | 2023-11-10 | 中国工商银行股份有限公司 | 数据查询方法、装置、计算机设备和存储介质 |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12511282B1 (en) | 2023-05-02 | 2025-12-30 | Microstrategy Incorporated | Generating structured query language using machine learning |
Citations (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102289482A (zh) * | 2011-08-02 | 2011-12-21 | 北京航空航天大学 | 一种非结构化数据查询方法 |
| US20150066972A1 (en) * | 2013-09-05 | 2015-03-05 | Futurewei Technologies, Inc. | Mechanism for Optimizing Parallel Execution of Queries on Symmetric Resources |
| CN107315790A (zh) * | 2017-06-14 | 2017-11-03 | 腾讯科技(深圳)有限公司 | 一种非相关子查询的优化方法和装置 |
| US20180336198A1 (en) * | 2017-05-18 | 2018-11-22 | Salesforce.Com, Inc. | Neural network based translation of natural language queries to database queries |
| CN110795945A (zh) * | 2019-10-30 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 一种语义理解模型训练方法、语义理解方法、装置及存储介质 |
| CN111444220A (zh) * | 2020-05-09 | 2020-07-24 | 南京大学 | 规则驱动和数据驱动相结合的跨平台sql查询优化方法 |
| CN111639078A (zh) * | 2020-05-25 | 2020-09-08 | 北京百度网讯科技有限公司 | 数据查询方法、装置、电子设备以及可读存储介质 |
| CN111831898A (zh) * | 2019-09-17 | 2020-10-27 | 北京嘀嘀无限科技发展有限公司 | 排序方法、装置、电子设备及可读存储介质 |
| CN112100198A (zh) * | 2020-09-09 | 2020-12-18 | 上海达梦数据库有限公司 | 数据库sql语句优化方法、装置、设备及存储介质 |
| CN112116609A (zh) * | 2019-06-21 | 2020-12-22 | 斯特拉克斯私人有限公司 | 基于图像中的结构或材料分割的机器学习分类方法与系统 |
| US20210034588A1 (en) * | 2019-08-01 | 2021-02-04 | Teradata Us, Inc. | Physical database design and tuning with deep reinforcement learning |
| CN112328578A (zh) * | 2020-11-26 | 2021-02-05 | 电子科技大学 | 一种基于强化学习和图注意力网络的数据库查询优化方法 |
| US20210073226A1 (en) * | 2019-09-10 | 2021-03-11 | Oracle International Corporation | Techniques of heterogeneous hardware execution for sql analytic queries for high volume data processing |
| CN112541083A (zh) * | 2020-12-23 | 2021-03-23 | 西安交通大学 | 一种基于主动学习混合神经网络的文本分类方法 |
| US20210133631A1 (en) * | 2019-10-30 | 2021-05-06 | Alectio, Inc. | Computer method and system for auto-tuning and optimization of an active learning process |
| CN113672781A (zh) * | 2021-08-20 | 2021-11-19 | 平安国际智慧城市科技股份有限公司 | 数据查询方法、装置、电子设备及存储介质 |
| CN113836174A (zh) * | 2021-10-20 | 2021-12-24 | 昆明理工大学 | 基于强化学习dqn算法的异步sql连接查询优化方法 |
| CN114328608A (zh) * | 2021-12-31 | 2022-04-12 | 杭州电子科技大学 | 一种基于数据约束的数据库查询优化方法 |
| CN114637775A (zh) * | 2022-03-29 | 2022-06-17 | 哈尔滨工业大学 | 基于蒙特卡洛树搜索和强化学习的查询优化系统、方法及设备 |
-
2022
- 2022-08-16 CN CN202210982075.9A patent/CN115168408B/zh active Active
Patent Citations (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102289482A (zh) * | 2011-08-02 | 2011-12-21 | 北京航空航天大学 | 一种非结构化数据查询方法 |
| US20150066972A1 (en) * | 2013-09-05 | 2015-03-05 | Futurewei Technologies, Inc. | Mechanism for Optimizing Parallel Execution of Queries on Symmetric Resources |
| US20180336198A1 (en) * | 2017-05-18 | 2018-11-22 | Salesforce.Com, Inc. | Neural network based translation of natural language queries to database queries |
| CN107315790A (zh) * | 2017-06-14 | 2017-11-03 | 腾讯科技(深圳)有限公司 | 一种非相关子查询的优化方法和装置 |
| CN112116609A (zh) * | 2019-06-21 | 2020-12-22 | 斯特拉克斯私人有限公司 | 基于图像中的结构或材料分割的机器学习分类方法与系统 |
| US20210034588A1 (en) * | 2019-08-01 | 2021-02-04 | Teradata Us, Inc. | Physical database design and tuning with deep reinforcement learning |
| US20210073226A1 (en) * | 2019-09-10 | 2021-03-11 | Oracle International Corporation | Techniques of heterogeneous hardware execution for sql analytic queries for high volume data processing |
| CN114365115A (zh) * | 2019-09-10 | 2022-04-15 | 甲骨文国际公司 | 用于大容量数据处理的sql分析查询的异构硬件执行的技术 |
| CN111831898A (zh) * | 2019-09-17 | 2020-10-27 | 北京嘀嘀无限科技发展有限公司 | 排序方法、装置、电子设备及可读存储介质 |
| CN110795945A (zh) * | 2019-10-30 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 一种语义理解模型训练方法、语义理解方法、装置及存储介质 |
| US20210133631A1 (en) * | 2019-10-30 | 2021-05-06 | Alectio, Inc. | Computer method and system for auto-tuning and optimization of an active learning process |
| CN111444220A (zh) * | 2020-05-09 | 2020-07-24 | 南京大学 | 规则驱动和数据驱动相结合的跨平台sql查询优化方法 |
| CN111639078A (zh) * | 2020-05-25 | 2020-09-08 | 北京百度网讯科技有限公司 | 数据查询方法、装置、电子设备以及可读存储介质 |
| CN112100198A (zh) * | 2020-09-09 | 2020-12-18 | 上海达梦数据库有限公司 | 数据库sql语句优化方法、装置、设备及存储介质 |
| CN112328578A (zh) * | 2020-11-26 | 2021-02-05 | 电子科技大学 | 一种基于强化学习和图注意力网络的数据库查询优化方法 |
| CN112541083A (zh) * | 2020-12-23 | 2021-03-23 | 西安交通大学 | 一种基于主动学习混合神经网络的文本分类方法 |
| CN113672781A (zh) * | 2021-08-20 | 2021-11-19 | 平安国际智慧城市科技股份有限公司 | 数据查询方法、装置、电子设备及存储介质 |
| CN113836174A (zh) * | 2021-10-20 | 2021-12-24 | 昆明理工大学 | 基于强化学习dqn算法的异步sql连接查询优化方法 |
| CN114328608A (zh) * | 2021-12-31 | 2022-04-12 | 杭州电子科技大学 | 一种基于数据约束的数据库查询优化方法 |
| CN114637775A (zh) * | 2022-03-29 | 2022-06-17 | 哈尔滨工业大学 | 基于蒙特卡洛树搜索和强化学习的查询优化系统、方法及设备 |
Non-Patent Citations (2)
| Title |
|---|
| 刘贵如: "基于多AGENT的多数据库系统的研究与设计", 《中国优秀硕士论文全文数据库 信息科技辑》, 15 December 2011 (2011-12-15), pages 1 - 4 * |
| 张啸宇: "基于有监督深度学习的SQL解析关键技术研究", 《中国优秀博士学位论文全文数据库 信息科技辑》, 1 October 2020 (2020-10-01), pages 1 - 4 * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117033411A (zh) * | 2023-08-04 | 2023-11-10 | 中国工商银行股份有限公司 | 数据查询方法、装置、计算机设备和存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN115168408B (zh) | 2024-05-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10769142B2 (en) | Graph processing in database | |
| CN112860727B (zh) | 基于大数据查询引擎的数据查询方法、装置、设备及介质 | |
| Shvaiko et al. | Ontology matching: state of the art and future challenges | |
| US9542412B2 (en) | Method and system for large scale data curation | |
| US20100017395A1 (en) | Apparatus and methods for transforming relational queries into multi-dimensional queries | |
| CN110377751A (zh) | 课件智能生成方法、装置、计算机设备及存储介质 | |
| Wang et al. | Aop: Automated and interactive llm pipeline orchestration for answering complex queries | |
| CN114391142A (zh) | 使用结构化和非结构化数据的解析查询 | |
| US10990881B1 (en) | Predictive analytics using sentence data model | |
| CN115168408B (zh) | 基于强化学习的查询优化方法、装置、设备及存储介质 | |
| WO2021248319A1 (en) | Database management system and method for graph view selection for relational-graph database | |
| Babur et al. | Towards statistical comparison and analysis of models | |
| Muniswamaiah et al. | Data virtualization for decision making in big data | |
| Gollapalli et al. | Automated discovery of multi-faceted ontologies for accurate query answering and future semantic reasoning | |
| Abdallah et al. | Towards a gml-enabled knowledge graph platform | |
| Rangaswamy et al. | ‘Optimized Association Rule Mining using Genetic Algorithm | |
| Padhi et al. | FlashProfile: Interactive Synthesis of Syntactic Profiles. | |
| CN100403308C (zh) | 基于sql负载挖掘的物理数据库自动设计方法 | |
| Bariatti et al. | KG-MDL: mining graph patterns in knowledge graphs with the MDL principle | |
| Kabir et al. | A novel approach to mining maximal frequent itemsets based on genetic algorithm | |
| US20250298786A1 (en) | Optimizing computer code using serialized data structures | |
| KR102893522B1 (ko) | 노코드 기반의 데이터 패브릭 시스템 | |
| Milenkovic et al. | Enabling knowledge management in complex industrial processes using semantic web technology | |
| US12189615B2 (en) | Automated creation of optimized persistent database views | |
| Boghey et al. | A sequential tree approach for incremental sequential pattern mining |
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 |