[go: up one dir, main page]

CN116860786A - 基于数据库的数据查询方法、装置、电子设备及存储介质 - Google Patents

基于数据库的数据查询方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN116860786A
CN116860786A CN202310847964.9A CN202310847964A CN116860786A CN 116860786 A CN116860786 A CN 116860786A CN 202310847964 A CN202310847964 A CN 202310847964A CN 116860786 A CN116860786 A CN 116860786A
Authority
CN
China
Prior art keywords
data
search strategy
database
search
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310847964.9A
Other languages
English (en)
Inventor
陈宇翔
张力
陈建军
师锐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Volcano Engine Technology Co Ltd
Original Assignee
Beijing Volcano Engine 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 Volcano Engine Technology Co Ltd filed Critical Beijing Volcano Engine Technology Co Ltd
Priority to CN202310847964.9A priority Critical patent/CN116860786A/zh
Publication of CN116860786A publication Critical patent/CN116860786A/zh
Priority to EP24180592.8A priority patent/EP4492254A1/en
Priority to US18/741,891 priority patent/US20250021550A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24549Run-time optimisation
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • 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/23Updating
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24539Query rewriting; Transformation using cached or materialised query results
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • G06F16/24545Selectivity estimation or determination
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Operations Research (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开提供了一种基于数据库的数据查询方法、装置、电子设备及存储介质,其中,该方法包括:接收数据查询请求;根据所述数据查询请求指示查询的目标数据,确定与所述目标数据匹配的多种搜索策略;针对各所述搜索策略,从缓存中查询与所述搜索策略关联存储的数据选择率;所述缓存用于动态维护各搜索策略对应的数据选择率,所述缓存中每次更新存储的所述数据选择率基于多次历史数据查询下得到的各真实选择率确定;响应于存在与所述搜索策略关联存储的数据选择率,将所述数据选择率作为所述搜索策略对应的目标选择率;基于各所述搜索策略分别对应的目标选择率确定目标搜索策略,以基于所述目标搜索策略从所述数据库中查询得到所述目标数据。

Description

基于数据库的数据查询方法、装置、电子设备及存储介质
技术领域
本公开涉及数据库技术领域,具体而言,涉及一种基于数据库的数据查询方法、装置、电子设备及存储介质。
背景技术
在对数据库中的数据进行搜索时,可以根据搜索需求,在数据库中搜索得到所需的数据。
在数据库中搜索数据时,可以选用的搜索方式可能有多种,不同搜索方式下搜索数据时的查询效率是不同的,而较佳的方式是从中选取查询效率较高的搜索方式用于实际的数据查询,从而提高数据搜索效率。因此如何快速而准确的确定出各查询方式的查询效率成为了该领域内亟待解决的问题。
发明内容
本公开实施例至少提供一种基于数据库的数据查询方法、装置、电子设备及存储介质。
第一方面,本公开实施例提供了一种基于数据库的数据查询方法,包括:接收数据查询请求;根据所述数据查询请求指示查询的目标数据,确定与所述目标数据匹配的多种搜索策略;针对各所述搜索策略,从缓存中查询与所述搜索策略关联存储的数据选择率;所述缓存用于动态维护各搜索策略对应的数据选择率,所述缓存中每次更新存储的所述数据选择率基于多次历史数据查询下得到的各真实选择率确定;响应于存在与所述搜索策略关联存储的数据选择率,将所述数据选择率作为所述搜索策略对应的目标选择率;基于各所述搜索策略分别对应的目标选择率确定目标搜索策略,以基于所述目标搜索策略从所述数据库中查询得到所述目标数据。
一种可选的实施方式中,还包括:响应于待选取的搜索策略为首次选取的搜索策略,确定不存在与所述搜索策略关联存储的数据选择率,并利用从所述数据库中获取的采样数据确定所述搜索策略对应的目标选择率。
一种可选的实施方式中,采用下述方式利用所述数据库中获取的采样数据确定所述搜索策略对应的目标选择率:从所述数据库中获取采样数据;所述采样数据基于选取的采样粒度和/或采样行数确定;利用所述搜索策略,确定在所述采样数据中被查询过的样本数据,并基于所述样本数据在所述采样数据中的数据量占比,作为所述搜索策略关联的目标选择率。
一种可选的实施方式中,确定与所述目标数据匹配的多种搜索策略之后,还包括:利用所述数据查询请求指示的每种所述搜索策略,分别在所述数据库中进行查询,并基于在查询过程中被查询过的数据在所述数据库中的数据量占比,确定所述搜索策略对应的所述数据选择率。
一种可选的实施方式中,基于在查询过程中被查询过的数据在所述数据库中的数据量占比,确定所述搜索策略对应的所述数据选择率之后,所述方法还包括:比较当前次确定的数据选择率与历史查询过程对应的数据选择率之间的差值,确定所述当前次确定的数据选择率是否满足稳定性条件;若满足所述稳定性条件,则将所述当前次确定的数据选择率作为所述数据查询请求在所述搜索策略下的固定的数据选择率。
一种可选的实施方式中,利用所述数据查询请求指示的所述搜索策略,在所述数据库中进行查询,包括:查询缓存中存储的与所述数据查询请求下的所述搜索策略关联的标签信息;在所述标签信息指示所述搜索策略对应的缓存中的数据选择率不满足稳定性条件的情况下,利用所述搜索策略在所述数据库中进行查询。
一种可选的实施方式中,还包括:响应于所述数据库中数据的数据变化量超过预设变化量阈值,从缓存中存储的各搜索策略下,确定在所述缓存中的缓存时间超过预设时间阈值的待删除搜索策略,并将所述待删除搜索策略及其关联存储的数据选择率从缓存中删除。
第二方面,本公开实施例还提供一种基于数据库的数据查询装置,包括:接收模块,用于接收数据查询请求;确定模块,用于根据所述数据查询请求指示查询的目标数据,确定与所述目标数据匹配的多种搜索策略;第一查询模块,用于针对各所述搜索策略,从缓存中查询与所述搜索策略关联存储的数据选择率;所述缓存用于动态维护各搜索策略对应的数据选择率,所述缓存中每次更新存储的所述数据选择率基于多次历史数据查询下得到的各真实选择率确定;获取模块,用于响应于存在与所述搜索策略关联存储的数据选择率,将所述数据选择率作为所述搜索策略对应的目标选择率;第二查询模块,用于基于各所述搜索策略分别对应的目标选择率确定目标搜索策略,以基于所述目标搜索策略从所述数据库中查询得到所述目标数据。
一种可选的实施方式中,还包括处理模块,用于:响应于待选取的搜索策略为首次选取的搜索策略,确定不存在与所述搜索策略关联存储的数据选择率,并利用从所述数据库中获取的采样数据确定所述搜索策略对应的目标选择率。
一种可选的实施方式中,采用下述方式利用所述数据库中获取的采样数据确定所述搜索策略对应的目标选择率:从所述数据库中获取采样数据;所述采样数据基于选取的采样粒度和/或采样行数确定;利用所述搜索策略,确定在所述采样数据中被查询过的样本数据,并基于所述样本数据在所述采样数据中的数据量占比,作为所述搜索策略关联的目标选择率。
一种可选的实施方式中,确定模块在确定与所述目标数据匹配的多种搜索策略之后,还用于:利用所述数据查询请求指示的每种所述搜索策略,分别在所述数据库中进行查询,并基于在查询过程中被查询过的数据在所述数据库中的数据量占比,确定所述搜索策略对应的所述数据选择率。
一种可选的实施方式中,确定模块在基于在查询过程中被查询过的数据在所述数据库中的数据量占比,确定所述搜索策略对应的所述数据选择率之后,还用于:比较当前次确定的数据选择率与历史查询过程对应的数据选择率之间的差值,确定所述当前次确定的数据选择率是否满足稳定性条件;若满足所述稳定性条件,则将所述当前次确定的数据选择率作为所述数据查询请求在所述搜索策略下的固定的数据选择率。
一种可选的实施方式中,确定模块在利用所述数据查询请求指示的所述搜索策略,在所述数据库中进行查询时,用于:查询缓存中存储的与所述数据查询请求下的所述搜索策略关联的标签信息;在所述标签信息指示所述搜索策略对应的缓存中的数据选择率不满足稳定性条件的情况下,利用所述搜索策略在所述数据库中进行查询。
一种可选的实施方式中,还包括删除模块,用于:响应于所述数据库中数据的数据变化量超过预设变化量阈值,从缓存中存储的各搜索策略下,确定在所述缓存中的缓存时间超过预设时间阈值的待删除搜索策略,并将所述待删除搜索策略及其关联存储的数据选择率从缓存中删除。
第三方面,本公开可选实现方式还提供一种电子设备,处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本公开可选实现方式还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
本公开实施例提供的一种基于数据库的数据查询方法、装置、电子设备及存储介质,对于接收到的数据查询请求,可以确定可选取的多种搜索策略;并针对每种搜索策略,具体可以通过缓存查询对应的数据选择率,这里的数据选择率可以表征在对应的搜索策略下,在数据库中筛选数据时的查询效率。因此,通过各搜索策略下确定的数据选择率,就可以判断具体采用何种搜索策略完成数据查询更优,从而保证数据查询时的效率。
另外,通过将搜索策略下得到的选择率进行缓存,可以减少重复计算并提高获取效率,另外,通过设置动态缓存的机制,对在多次采用同一搜索策略进行数据查询后得到的选择率结果进行动态更新存储,可以准确地的确定最符合当前数据查询请求的目标查询策略,以提高数据查询请求的处理速度。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种基于数据库的数据查询方法的流程图;
图2示出了本公开实施例所提供的一种将得到的抽象语法树转换为关系代数树的示意图;
图3示出了本公开实施例所提供的基于数据库的数据查询装置的示意图;
图4示出了本公开实施例所提供的一种电子设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
经研究发现,在数据库中搜索数据时,具体可以选取不同的搜索策略,为了能够选取出查询效率更高的搜索策略,就需要实现快速而准确的确定出各查询方式的查询效率。
基于上述研究,本公开提供了一种基于数据库的数据查询方法,对于接收到的数据查询请求,可以确定指示可选取的多种搜索策略;并针对每种搜索策略,具体可以通过缓存查询对应的数据选择率,这里的数据选择率可以表征在对应的搜索策略下,在数据库中筛选数据时的查询效率。因此,通过各搜索策略下确定的数据选择率,就可以判断具体采用何种搜索策略完成数据查询更优,从而保证数据查询时的效率。
另外,由于在进行数据查询时,可能存在有多次采用同一搜索策略的情况,因此在本公开提供的数据查询方法下,还提供了将搜索策略下得到的选择率进行缓存的方式,以减少重复计算并提高获取效率。
在此基础上,若是直接存储各搜索策略对应的选择率,则可能会因为数据库中的数据发生改变,而使得存储的查询效率难以准确的适应数据变化后的数据查询请求。因此,本方案具体还选取了设置动态缓存的机制,对在多次采用同一搜索策略进行数据查询后得到的选择率结果进行动态更新存储,可以准确地的确定最符合当前数据查询请求的目标查询策略,以提高数据查询请求的处理速度。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种基于数据库的数据查询方法进行详细介绍,本公开实施例所提供的数据查询方法的执行主体一般为具有一定计算能力的电子设备,该电子设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该数据查询方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
下面对本公开实施例提供的基于数据库的数据查询方法加以说明。本公开实施例提供的基于数据库的数据查询方法,具体可以应用于对数据库中数据的查询。这里说明的数据库根据应用场景的不同而有所区别,比如在业务数据管理的场景中,比如在仓储应用中,具体可以包括对货物商品的购买、售出等记录,而在如文件存储应用中,具体则可以包括对图片、文档、音视频等的存储。
参见图1所示,为本公开实施例提供的一种基于数据库的数据查询方法的流程图,所述方法包括步骤S101~S105,其中:
S101:接收数据查询请求;
S102:根据所述数据查询请求指示查询的目标数据,确定与所述目标数据匹配的多种搜索策略;
S103:针对各所述搜索策略,从缓存中查询与所述搜索策略关联存储的数据选择率;所述缓存用于动态维护各搜索策略对应的数据选择率,所述缓存中每次更新存储的所述数据选择率基于多次历史数据查询下得到的各真实选择率确定;
S104:响应于存在与所述搜索策略关联存储的数据选择率,将所述数据选择率作为所述搜索策略对应的目标选择率;
S105:基于各所述搜索策略分别对应的目标选择率确定目标搜索策略,以基于所述目标搜索策略从所述数据库中查询得到所述目标数据。
下面对上述S101~S105加以详细说明。
针对上述S101和S102,首先对数据库进行举例说明。为便于说明,在本公开实施例中具体选取在仓储领域下的数据库进行说明。数据库中具体可以存储有销售数据,各销售数据下记录有对应的月份,比如在数据库中具体可以包括某一品牌在本年度中1-12月下分别对应的销售数据。
针对这一数据库,可以通过数据查询的方式,从中获取到在实际应用中需要查询的数据,比如在上述示例中,具体希望获取到在5月的销售数据。为了使数据库可以通过实际的查询要求完成数据查询,具体可以选择发送数据查询请求,也即数据查询请求可以表达实际的查询要求,同时可以使数据库能够在计算层面上完成数据查询。
在此基础上,在本公开实施例中考虑下述两个问题。首先,对于实际应用中的查询要求,如何得到可以在数据库中完成数据查询的数据查询请求;其次,对于确定的数据查询请求,比如上述指示查找5月销售数据的数据查询请求,在存储数据的数据量庞大的数据库中,如何确定具体的搜索策略,比如选取进行顺序搜索(sequential scan)或者是选取进行索引搜索(index scan)。
下面对上述两个问题的解决方式进行说明。首先,针对数据查询请求,具体可以通过编写查询声明语句的方式,声明查询要求,并生成数据查询请求。延续上述示例,若实际的查询要求为在销售表(sales)中查找到某产品(标注为:A)在5月份的销售数据对应的标识(id),则可以得到下述查询声明(query statement):
SELECT id
FROM sales
WHERE name=‘A’
AND month=‘5’
这样,即可以确定使数据库可以查询的数据查询请求。接着,对于选取具体的搜索策略的方式,可以选取采用数据库的查询优化器,通过基于代价的优化器(Cost-BasedOptimizer,CBO),判断利用数据查询请求解析出的语法树下,每个结点的搜索代价,以判断选取何种搜索策略时,整体的代价较低。
这里,利用数据查询请求,可以确定与目标数据匹配的多种搜索策略。在一种可能的情况下,在对数据库进行数据查询时,本身即预备了多种可选的搜索策略,则对于任一数据查询请求,匹配的多种搜索策略可以是这里已预备的多种可选的搜索策略。在另一种可能的情况下,对于不同数据类型的数据对应的数据查询请求,可以从预备可选的多种搜索策略下,进一步按照经验等筛选出与之对应的部分搜索策略,则在接收到相应数据类型下的数据对应的数据查询请求时,也可以根据在筛选后的对应关系,确定与目标数据匹配的特定的几种搜索策略。
下面延续上述示例,对如何确定语法树下的算子以及确定搜索代价的方式进行说明。首先,上述说明的查询声明可以被解析为抽象语法树(abstract syntax tree,AST),然后再转换成关系代数树,具体例如图2所示。对于得到的关系代数树,具体包括有代数结点,比如在图2中关系代数树中标注的过滤结点(filter)或者查询结点(table scan)。
为了计算每个结点上的统计信息,基于代价的优化器CBO依赖一系列代价估算模型,从表粒度的统计信息推导出结点的统计信息以及执行代价。这些代价估算都是由底向上,也就是从叶子结点(table scan结点)开始向根结点去推导。因此,table scan结点,特别是带filter条件的table scan的统计信息的精准度,很大程度上决定了下游算子统计信息的精准度,也决定了整个搜索策略的代价对应的精准度。
因此,在通过代价确定具体的搜索策略时,具体可以转换为根据不同搜索策略下利用过滤条件在table scan结点上的选择率(selectivity),确定搜索策略。
下面通过简要的示例进行说明。在上述对销售表的查询示例中,若采用顺序搜索的搜索策略,则具体可以选取先搜索得到标注有日期的数据,然后判断日期是否在5月,因此在对数据库进行搜索后,每一个带有日期的数据都会被查询过;而若选取索引搜索的方式,则具体可以选取搜索其中月份标记为“5”的数据,而通过该种方式对数据库进行搜索后,查询得到的结果也即所需得到的目标数据。在这两种方式下,在数据库中被查询过的数据是不同的,具体采用顺序搜索的搜索策略下,被查询过的数据会比在索引搜索的搜索策略下被查询过的数据更多,也即在查询时过滤掉的数据较少,则相应根据被查询过的数据确定的选择率高,说明这种搜索策略的代价高,因此不适宜被选用作为数据查询方式。
因此,在本公开实施例中,对于接收到的数据查询请求,具体会确定具体可以选取使用的搜索策略,比如在数据查询请求中包含有选取的多种搜索策略,或者是根据数据查询请求可以确定的多种搜索策略,然后根据搜索策略下确定的选择率,判断哪一个搜索策略是代价更小的搜索策略,从而选取采用该种搜索策略完成对数据查询请求下指示要查询的目标数据的搜索。
而在具体的应用过程中,在数据库中进行数据查询时,在一种可能的情况下,可以选取在每一次接收到数据查询请求时,即通过对数据库进行数据采样的方式确定不同搜索策略下的选择率,从而确定哪一搜索策略代价更小,更适宜选取使用。但在实际应用中考虑可能会出现下述问题:在一段时间内可能会具有来自多个不同用户的查询,且这些查询针对于同一数据库,选取的数据查询请求中得到的filter结点和table scan结点相同。则在上述场景下,就会出现重复地动态采样过程,导致性能损失以及响应速度变慢。
针对上述问题,在本公开实施例中,具体选取了将在历史搜索中得到的选择率结果进行缓存,以在下一次接收到相同的数据查询后,可以直接从缓存中存储的选择率结果中获取选择率,而无需再次确定选择率,从而更高效地在当前次做出搜索策略的选择判断。
也即,针对上述S103以及S104,对于各搜索策略,具体可以从缓存中查询与搜索策略关联存储的数据选择率,若存在与搜索策略关联存储的数据选择率,则将数据选择率作为与搜索策略对应的目标选择率。
这里,数据选择率基于多次历史数据查询下得到的各真实选择率确定。
下面针对如何在多次历史数据查询下获取到真实选择率的具体方式进行说明。在具体实施中,对于某一搜索策略,会先具有第一次被选取的情况,然后才会具有之后多次可能被选取的情况。
在首次被选取时,容易理解并不会有可以在缓存中关联存储的选择率,为了可以使该搜索策略在首次被选取时,可以确定是否是选取的多个搜索策略里代价较低的搜索策略,会选取直接计算确定搜索策略对应的选择率。另外,为了能够提高计算选择率的效率,在本公开实施例中具体选取了从数据量较大的数据库中采样得到数据量相对较小的采样数据,以用于确定搜索策略对应的目标选择率。
也即,在具体实施中,响应于待选取的搜索策略为首次选取的搜索策略,确定不存在与所述搜索策略关联存储的数据选择率,并利用从所述数据库中获取的采样数据确定所述搜索策略对应的目标选择率。
对于上述情况,在为首次选取的搜索策略确定目标选择率时,可以先从数据库中获取采样数据。在获取采样数据时,可以支持用户选择不同的采样粒度和/或采样行数,以获取一定数量下的采样数据。在一种可能的情况下,通过对采样粒度和/后采样行数的设置,可以从数据库中获取数量较多的采样数据,则采样数据可以更好的反应出数据库中的数据特征,但由于采样数据的数据量较大,在确定选择率时就会相对更耗时;反之,在另一种可能的情况下,若通过对采样粒度和/后采样行数的设置,得到数据量较小的采样数据,则可以保证确定选择率时耗时较短,但得到的选择率可能并不能反应整个数据库的数据特征的问题。因此,在选取采样粒度和/或采样行数时,具体交由用户选择,以保证满足在计算选择率的效率和准确度上平衡时的实际需求。
对于在数据库中得到的采样数据,采用确定的搜索策略,可以确定在采样数据中被查询过的样本数据,具体方式可以参见上述提供的示例。然后,利用被查询过的样本数据与采样数据中的数据量占比,可以作为在采样数据下为搜索策略确定的选择率。而由于采样数据具体是从数据库中采样获取的,因此也可以将其作为对数据库预估的在选取搜索策略下的目标选择率。
此处,通过样本数据计算得到的目标选择率,即可以先行用于判断在多个搜索策略中具体选取哪一搜索策略,以用于本次数据查询。同时,由于该搜索策略被选用,为了使之后选用该搜索策略时能够得到更准确地选择率结果,具体还会选取利用搜索策略在数据库中进行查询,并基于在查询过程中被查询过的数据在所述数据库中的数据量占比,确定所述搜索策略对应的所述数据选择率。
也即,对于上述说明的首次选取的搜索策略,其在数据库下确定的选择率也会被计算出,并关联存储在缓存中,作为搜索策略对应的数据选择率,并可以在下一次选取采用同样的搜索策略时,将数据选择率进行调用。
具体在对搜索策略和对应数据选择率进行存储时,可以采用下述方式:在首次选取搜索策略时,为搜索策略确定对应的缓存空间,并在缓存空间中存储键值对格式的数据,其中的关键字key可以标识table scan对应数据库等信息,值value则可以用于存储后续计算出的数据选择率。这样,在下一次选用搜索策略时,就可以从缓存空间中获取到上一次选用搜索策略后存储的数据选择率的结果,以有效地减少数据采样频次。
而由于数据库中的数据具体是动态更新的,因此在完成一次数据查询之后,在下一次数据查询时其中的数据可能会发生变化,这种变化可能会对搜索策略下确定的选择率产生影响。因此,对于缓存下搜索策略对应的数据选择率,在本公开实施例中具体选取了动态更新和自适应统计信息反馈的方式进行。
具体地,对于连续多次选取的搜索策略,若其对应的数据选择率的变化是稳定的,则可以认为其在之后继续被选取时,再次进行计算得到的选择率也是不会发生较大变化的,也即认为出现数据选择率变化稳定的情况后,可以认为对于该搜索策略,已经可以得到收敛至较为准确结果的选择率,于是在之后继续被选取时,可以直接调用存储的数据选择率。
因此,在本公开实施例中,具体会对连续多次选取搜索策略后得到的数据选择率是否达到稳定进行判断。在具体实施中,可以比较当前次确定的数据选择率与历史查询过程对应的数据选择率之间的差值,确定所述当前次确定的数据选择率是否满足稳定性条件;若满足所述稳定性条件,则将所述当前次确定的数据选择率作为所述数据查询请求在所述搜索策略下的固定的数据选择率。
下面,对如何判断当前次确定的数据选择率是否满足稳定性条件的方式进行说明。在一种可能的情况下,可以根据包含当前次选取搜索策略时确定的数据选择率和历史查询过程中多次存储的数据选择率下,相邻次确定的差值确定是否满足稳定性条件。比如,在包含当前次选取的搜索策略下,得到的数据选择率分别为25.6%、25.2%、25%,也即相邻两次得到的差值逐渐减小,且收敛至25%,则可以判断当前达到了稳定性条件,并将本次到的25%的选择率确定为在搜索策略下固定的数据选择率。
因此,这里缓存的作用是动态对各搜索策略对应的数据选择率进行存储,也即进行动态维护。
或者,在另一种可能的情况下,选择率在数值上的收敛,除上述情况表达为收敛至某一数值以外,还可能表达为收敛至某一区间内,比如包含当前次选取搜索策略时确定的数据选择率和历史查询过程中多次存储的数据选择率下,得到的数据选择率均落入25%~26%的范围内,而在该范围内可能引起的1%的误差范围是可以被接受的,则也可以将当前次选取搜索策略时确定的数据选择率作为的固定的数据选择率。
上述仅为提供的两种具体示例,其他可以用于确定选择率的数值变化是否区域稳定的方式,也均应当在本公开实施例的保护范围内。
这样,通过确定当前次得到的数据选择率是否满足稳定性条件,即可以确定是否还需要在下一次选取相同的搜索策略时重新对选择率进行计算和存储,或者直接调用已存储的数据选择率,以在保证准确性的同时,减少数据采样频次。
而在存储层面上,为了可以确定在当前次下是否选取固定数据选择率,也即确定是否在下一次选用搜索策略时还需要关注于得到的真实选择率结果,具体可以在首次选取搜索策略时,就为搜索策略关联存储标签信息,这里标签信息具体指示需要继续关注搜索策略对应的选择率,因此在未能为搜索策略确定固定的数据选择率前,该标签信息并不发生变化。而在确定任一次下的数据选择率作为固定的数据选择率后,可以确定不需要对其继续关注,因此可以将标签信息更改为指示固定数据选择率的信息,或者也可以选取将标签信息进行删除。
因此,在具体实施中,可以通过标签信息确定在缓存中的数据选择率是否满足稳定性条件,具体可以查询缓存中存储的与所述数据查询请求下的所述搜索策略关联的标签信息;在所述标签信息指示所述搜索策略对应的缓存中的数据选择率不满足稳定性条件的情况下,利用所述搜索策略在所述数据库中进行查询。
而根据上述实施例中的说明,数据库具体是动态更新的,因此若在数据库的数据量变化较大的情况下,一些在早前缓存的搜索策略对应的数据选择率,可能难以保证在当前增量变化后的数据库下的准确性。因此,在具体实施中,可以响应于所述数据库中数据的数据变化量超过预设变化量阈值,从缓存中存储的各搜索策略下,确定在所述缓存中的缓存时间超过预设时间阈值的待删除搜索策略,并将所述待删除搜索策略及其关联存储的数据选择率从缓存中删除。
这里,衡量数据库是否存在较大数据量变化的预设变化量阈值,具体可以根据实际情况确定,或者根据数据库的数据量大小确定,比如若在以万为单位衡量数据库中数据量的大小时,若数据量的增量可以通过几个、几百个衡量,则并不会对数据库的整体产生较大的影响,并能够认为在当前数据库的数据变化下,搜索策略对应的数据选择率不会发生较大的变化。
而在可以判断数据库中数据的数变化量超过预设变化量阈值的情况下,对于近期存储的搜索策略对应的数据选择率,由于数据库中数据的变化是逐次缓慢改变的,因此对于近期存储下的搜索策略对应的数据选择率而言影响较小,但是对于在早前存储的搜索策略对应的数据选择率而言,随着时间推移,当前数据库中的数据,相较于其在更早前存储数据选择率时的数据库中的数据,会累积出较大的数据变化,因此并不能继续保证其准确性。另外,由于在预设时间阈值内,搜索策略均没有被继续选用或更新,也可以认为其在之后被选取使用的概率较低,也即并没有继续存储的需求,因此可以将其从缓存中进行删除。
这样,根据上述步骤S103-S104,可以为本次选取得到的多种搜索策略确定对应的目标选择率。
针对上述步骤S105,在确定各搜索策略下对应的目标选择率后,利用各搜索策略对应的目标选择率,即可以确定最终用于完成数据查询的目标搜索策略,以利用数据库查询得到目标数据。
这里,具体可以参照上述示例中的说明,以在数据库中包括某一品牌在本年度中1-12月下分别对应的销售数据为例,若选取顺序搜索的方式,得到的目标选择率例如为80%,表示在经过一次筛选后,被查询过的数据占据数据库的80%,而选取索引搜索的方式,得到的目标选择率例如为10%,且被查询过的数据也即最后确定的目标数据,因此采用索引搜索的方式,查询了更少的数据库中的数据且能更容易地获取目标数据,因此更适宜被选用,从而在本次数据查询中确定采用该种搜索策略实现对目标数据的搜索。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与基于数据库的数据查询方法对应的数据查询装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述数据查询方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图3所示,为本公开实施例提供的一种基于数据库的数据查询装置的示意图,所述装置包括:接收模块31,确定模块32、第一查询模块33、获取模块34、以及第二查询模块35;其中,
接收模块31,用于接收数据查询请求;
确定模块32,用于根据所述数据查询请求指示查询的目标数据,确定与所述目标数据匹配的多种搜索策略;
第一查询模块33,用于针对各所述搜索策略,从缓存中查询与所述搜索策略关联存储的数据选择率;所述缓存用于动态维护各搜索策略对应的数据选择率,所述缓存中每次更新存储的所述数据选择率基于多次历史数据查询下得到的各真实选择率确定;
获取模块34,用于响应于存在与所述搜索策略关联存储的数据选择率,将所述数据选择率作为所述搜索策略对应的目标选择率;
第二查询模块35,用于基于各所述搜索策略分别对应的目标选择率确定目标搜索策略,以基于所述目标搜索策略从所述数据库中查询得到所述目标数据。
一种可选的实施方式中,还包括处理模块36,用于:响应于待选取的搜索策略为首次选取的搜索策略,确定不存在与所述搜索策略关联存储的数据选择率,并利用从所述数据库中获取的采样数据确定所述搜索策略对应的目标选择率。
一种可选的实施方式中,采用下述方式利用所述数据库中获取的采样数据确定所述搜索策略对应的目标选择率:从所述数据库中获取采样数据;所述采样数据基于选取的采样粒度和/或采样行数确定;利用所述搜索策略,确定在所述采样数据中被查询过的样本数据,并基于所述样本数据在所述采样数据中的数据量占比,作为所述搜索策略关联的目标选择率。
一种可选的实施方式中,确定模块32在确定与所述目标数据匹配的多种搜索策略之后,还用于:利用所述数据查询请求指示的每种所述搜索策略,分别在所述数据库中进行查询,并基于在查询过程中被查询过的数据在所述数据库中的数据量占比,确定所述搜索策略对应的所述数据选择率。
一种可选的实施方式中,确定模块32在基于在查询过程中被查询过的数据在所述数据库中的数据量占比,确定所述搜索策略对应的所述数据选择率之后,还用于:比较当前次确定的数据选择率与历史查询过程对应的数据选择率之间的差值,确定所述当前次确定的数据选择率是否满足稳定性条件;若满足所述稳定性条件,则将所述当前次确定的数据选择率作为所述数据查询请求在所述搜索策略下的固定的数据选择率。
一种可选的实施方式中,确定模块32在利用所述数据查询请求指示的所述搜索策略,在所述数据库中进行查询时,用于:查询缓存中存储的与所述数据查询请求下的所述搜索策略关联的标签信息;在所述标签信息指示所述搜索策略对应的缓存中的数据选择率不满足稳定性条件的情况下,利用所述搜索策略在所述数据库中进行查询。
一种可选的实施方式中,还包括删除模块37,用于:响应于所述数据库中数据的数据变化量超过预设变化量阈值,从缓存中存储的各搜索策略下,确定在所述缓存中的缓存时间超过预设时间阈值的待删除搜索策略,并将所述待删除搜索策略及其关联存储的数据选择率从缓存中删除。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
本公开实施例还提供了一种电子设备,也即计算机设备,如图4所示,为本公开实施例提供的电子设备结构示意图,包括:
处理器10和存储器20;所述存储器20存储有处理器10可执行的机器可读指令,处理器10用于执行存储器20中存储的机器可读指令,所述机器可读指令被处理器10执行时,处理器10执行下述步骤:
接收数据查询请求;根据所述数据查询请求指示查询的目标数据,确定与所述目标数据匹配的多种搜索策略;针对各所述搜索策略,从缓存中查询与所述搜索策略关联存储的数据选择率;所述缓存用于动态维护各搜索策略对应的数据选择率,所述缓存中每次更新存储的所述数据选择率基于多次历史数据查询下得到的各真实选择率确定;响应于存在与所述搜索策略关联存储的数据选择率,将所述数据选择率作为所述搜索策略对应的目标选择率;基于各所述搜索策略分别对应的目标选择率确定目标搜索策略,以基于所述目标搜索策略从所述数据库中查询得到所述目标数据。
上述存储器20包括内存210和外部存储器220;这里的内存210也称内存储器,用于暂时存放处理器10中的运算数据,以及与硬盘等外部存储器220交换的数据,处理器10通过内存210与外部存储器220进行数据交换。
上述指令的具体执行过程可以参考本公开实施例中所述的基于数据库的数据查询方法的步骤,此处不再赘述。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的基于数据库的数据查询方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的基于数据库的数据查询方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种基于数据库的数据查询方法,其特征在于,包括:
接收数据查询请求;
根据所述数据查询请求指示查询的目标数据,确定与所述目标数据匹配的多种搜索策略;
针对各所述搜索策略,从缓存中查询与所述搜索策略关联存储的数据选择率;所述缓存用于动态维护各搜索策略对应的数据选择率,所述缓存中每次更新存储的所述数据选择率基于多次历史数据查询下得到的各真实选择率确定;
响应于存在与所述搜索策略关联存储的数据选择率,将所述数据选择率作为所述搜索策略对应的目标选择率;
基于各所述搜索策略分别对应的目标选择率确定目标搜索策略,以基于所述目标搜索策略从所述数据库中查询得到所述目标数据。
2.根据权利要求1所述的方法,其特征在于,还包括:
响应于待选取的搜索策略为首次选取的搜索策略,确定不存在与所述搜索策略关联存储的数据选择率,并利用从所述数据库中获取的采样数据确定所述搜索策略对应的目标选择率。
3.根据权利要求2所述的方法,其特征在于,采用下述方式利用所述数据库中获取的采样数据确定所述搜索策略对应的目标选择率:
从所述数据库中获取采样数据;所述采样数据基于选取的采样粒度和/或采样行数确定;
利用所述搜索策略,确定在所述采样数据中被查询过的样本数据,并基于所述样本数据在所述采样数据中的数据量占比,作为所述搜索策略关联的目标选择率。
4.根据权利要求1所述的方法,其特征在于,确定与所述目标数据匹配的多种搜索策略之后,还包括:
利用每种所述搜索策略,分别在所述数据库中进行查询,并基于在查询过程中被查询过的数据在所述数据库中的数据量占比,确定所述搜索策略对应的所述数据选择率。
5.根据权利要求4所述的方法,其特征在于,基于在查询过程中被查询过的数据在所述数据库中的数据量占比,确定所述搜索策略对应的所述数据选择率之后,所述方法还包括:
比较当前次确定的数据选择率与历史查询过程对应的数据选择率之间的差值,确定所述当前次确定的数据选择率是否满足稳定性条件;
若满足所述稳定性条件,则将所述当前次确定的数据选择率作为所述数据查询请求在所述搜索策略下的固定的数据选择率。
6.根据权利要求4所述的方法,其特征在于,利用所述搜索策略,在所述数据库中进行查询,包括:
查询缓存中存储的与所述数据查询请求下的所述搜索策略关联的标签信息;
在所述标签信息指示所述搜索策略对应的缓存中的数据选择率不满足稳定性条件的情况下,利用所述搜索策略在所述数据库中进行查询。
7.根据权利要求1所述的方法,其特征在于,还包括:
响应于所述数据库中数据的数据变化量超过预设变化量阈值,从缓存中存储的各搜索策略下,确定在所述缓存中的缓存时间超过预设时间阈值的待删除搜索策略,并将所述待删除搜索策略及其关联存储的数据选择率从缓存中删除。
8.一种基于数据库的数据查询装置,其特征在于,包括:
接收模块,用于接收数据查询请求;
确定模块,用于根据所述数据查询请求指示查询的目标数据,确定与所述目标数据匹配的多种搜索策略;
第一查询模块,用于针对各所述搜索策略,从缓存中查询与所述搜索策略关联存储的数据选择率;所述缓存用于动态维护各搜索策略对应的数据选择率,所述缓存中每次更新存储的所述数据选择率基于多次历史数据查询下得到的各真实选择率确定;
获取模块,用于响应于存在与所述搜索策略关联存储的数据选择率,将所述数据选择率作为所述搜索策略对应的目标选择率;
第二查询模块,用于基于各所述搜索策略分别对应的目标选择率确定目标搜索策略,以基于所述目标搜索策略从所述数据库中查询得到所述目标数据。
9.一种电子设备,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述处理器执行如权利要求1至7任一项所述的基于数据库的数据查询的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被电子设备运行时,所述电子设备执行如权利要求1至7任一项所述的基于数据库的数据查询方法的步骤。
CN202310847964.9A 2023-07-11 2023-07-11 基于数据库的数据查询方法、装置、电子设备及存储介质 Pending CN116860786A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202310847964.9A CN116860786A (zh) 2023-07-11 2023-07-11 基于数据库的数据查询方法、装置、电子设备及存储介质
EP24180592.8A EP4492254A1 (en) 2023-07-11 2024-06-06 Database-based data query method, apparatus, electronic device and storage medium
US18/741,891 US20250021550A1 (en) 2023-07-11 2024-06-13 Database-based data query method, apparatus, electronic device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310847964.9A CN116860786A (zh) 2023-07-11 2023-07-11 基于数据库的数据查询方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN116860786A true CN116860786A (zh) 2023-10-10

Family

ID=88226445

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310847964.9A Pending CN116860786A (zh) 2023-07-11 2023-07-11 基于数据库的数据查询方法、装置、电子设备及存储介质

Country Status (3)

Country Link
US (1) US20250021550A1 (zh)
EP (1) EP4492254A1 (zh)
CN (1) CN116860786A (zh)

Family Cites Families (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6070160A (en) * 1995-05-19 2000-05-30 Artnet Worldwide Corporation Non-linear database set searching apparatus and method
US7035812B2 (en) * 1999-05-28 2006-04-25 Overture Services, Inc. System and method for enabling multi-element bidding for influencing a position on a search result list generated by a computer network search engine
US7181438B1 (en) * 1999-07-21 2007-02-20 Alberti Anemometer, Llc Database access system
US7072863B1 (en) * 1999-09-08 2006-07-04 C4Cast.Com, Inc. Forecasting using interpolation modeling
US6792399B1 (en) * 1999-09-08 2004-09-14 C4Cast.Com, Inc. Combination forecasting using clusterization
US8935198B1 (en) * 1999-09-08 2015-01-13 C4Cast.Com, Inc. Analysis and prediction of data using clusterization
US7058516B2 (en) * 2000-06-30 2006-06-06 Bioexpertise, Inc. Computer implemented searching using search criteria comprised of ratings prepared by leading practitioners in biomedical specialties
US20060161353A1 (en) * 2000-07-24 2006-07-20 Bioexpertise, Inc. Computer implemented searching using search criteria comprised of ratings prepared by leading practitioners in biomedical specialties
US20040117402A1 (en) * 2001-03-28 2004-06-17 Tateson Jane E Data retrieval system
US6917932B2 (en) * 2002-05-01 2005-07-12 International Business Machines Corporation Dynamic optimization of multi-feature queries
US6886010B2 (en) * 2002-09-30 2005-04-26 The United States Of America As Represented By The Secretary Of The Navy Method for data and text mining and literature-based discovery
AU2003268754A1 (en) * 2002-10-03 2004-04-23 In4S Inc. Bit string check method and device
CA2426439A1 (en) * 2003-04-23 2004-10-23 Ibm Canada Limited - Ibm Canada Limitee Identifying a workload type for a given workload of database requests
US7376638B2 (en) * 2003-12-24 2008-05-20 International Business Machines Corporation System and method for addressing inefficient query processing
KR100469824B1 (ko) * 2004-05-29 2005-02-03 엔에이치엔(주) 광고 그룹에 기초한 검색 목록순의 노출 관리 방법 및노출 관리 시스템
US7447680B2 (en) * 2004-07-29 2008-11-04 International Business Machines Corporation Method and apparatus for optimizing execution of database queries containing user-defined functions
US8046354B2 (en) * 2004-09-30 2011-10-25 International Business Machines Corporation Method and apparatus for re-evaluating execution strategy for a database query
US20080077570A1 (en) * 2004-10-25 2008-03-27 Infovell, Inc. Full Text Query and Search Systems and Method of Use
US8171022B2 (en) * 2004-11-05 2012-05-01 Johnston Jeffrey M Methods, systems, and computer program products for facilitating user interaction with customer relationship management, auction, and search engine software using conjoint analysis
US8239394B1 (en) * 2005-03-31 2012-08-07 Google Inc. Bloom filters for query simulation
US8112248B2 (en) * 2005-06-09 2012-02-07 Chemimage Corp. Forensic integrated search technology with instrument weight factor determination
CN100397396C (zh) * 2005-10-31 2008-06-25 北京神舟航天软件技术有限公司 基于谓词关键度分析的查询计划缓存方法及其系统
US20070143246A1 (en) * 2005-12-15 2007-06-21 International Business Machines Corporation Method and apparatus for analyzing the effect of different execution parameters on the performance of a database query
US20070150397A1 (en) * 2005-12-27 2007-06-28 Gridstock Inc. Search engine for stock investment strategies
WO2008011526A2 (en) * 2006-07-19 2008-01-24 Chacha Search, Inc. Method, apparatus, and computer readable storage for training human searchers
WO2008091387A2 (en) * 2006-08-07 2008-07-31 Chacha Search, Inc. Electronic previous search results log
US20080059455A1 (en) * 2006-08-31 2008-03-06 Canoy Michael-David N Method and apparatus of obtaining or providing search results using user-based biases
US8359309B1 (en) * 2007-05-23 2013-01-22 Google Inc. Modifying search result ranking based on corpus search statistics
US20090037375A1 (en) * 2007-07-30 2009-02-05 Seok Won Cho Method and apparatus for the placement of advertisements in a search results page
US8046351B2 (en) * 2007-08-23 2011-10-25 Samsung Electronics Co., Ltd. Method and system for selecting search engines for accessing information
US7890488B2 (en) * 2007-10-05 2011-02-15 Yahoo! Inc. System and method for caching posting lists
US20090171728A1 (en) * 2007-12-27 2009-07-02 Yan Tak W Simulation framework for evaluating designs for sponsored search markets
US20090198648A1 (en) * 2008-01-31 2009-08-06 Invensys Systems, Inc. System and method for adaptively retrieving parameter trend data from a supervisory control manufacturing/production database
US20090228918A1 (en) * 2008-03-05 2009-09-10 Changingworlds Ltd. Content recommender
US8140538B2 (en) * 2008-04-17 2012-03-20 International Business Machines Corporation System and method of data caching for compliance storage systems with keyword query based access
JP5376625B2 (ja) * 2008-08-05 2013-12-25 学校法人東京電機大学 検索システムにおける反復フュージョン型検索方法
US8346800B2 (en) * 2009-04-02 2013-01-01 Microsoft Corporation Content-based information retrieval
US20110047136A1 (en) * 2009-06-03 2011-02-24 Michael Hans Dehn Method For One-Click Exclusion Of Undesired Search Engine Query Results Without Clustering Analysis
US20100318538A1 (en) * 2009-06-12 2010-12-16 Google Inc. Predictive searching and associated cache management
US8117224B2 (en) * 2009-06-23 2012-02-14 International Business Machines Corporation Accuracy measurement of database search algorithms
US9213780B2 (en) * 2009-06-26 2015-12-15 Microsoft Technology Licensing Llc Cache and index refreshing strategies for variably dynamic items and accesses
US8504437B1 (en) * 2009-11-04 2013-08-06 Google Inc. Dynamically selecting and presenting content relevant to user input
US8943043B2 (en) * 2010-01-24 2015-01-27 Microsoft Corporation Dynamic community-based cache for mobile search
US20120102013A1 (en) * 2010-04-09 2012-04-26 Christopher Martini Method and Apparatus for Duration-Based Search
US8548981B1 (en) * 2010-06-23 2013-10-01 Google Inc. Providing relevance- and diversity-influenced advertisements including filtering
US8560562B2 (en) * 2010-07-22 2013-10-15 Google Inc. Predictive query suggestion caching
US20140129320A1 (en) * 2011-04-05 2014-05-08 The Trustees Of Columbia University In The City Of New York B-matching using sufficient selection belief propagation
EP2541473A1 (en) * 2011-06-27 2013-01-02 Amadeus S.A.S. Method and system for a pre-shopping reservation system with increased search efficiency
TWI440862B (zh) * 2011-11-21 2014-06-11 國立交通大學 Electrical detection method and system based on user feedback information
US9405832B2 (en) * 2012-05-31 2016-08-02 Apple Inc. Application search query classifier
WO2014028871A1 (en) * 2012-08-17 2014-02-20 Twitter, Inc. Search infrastructure
US9240016B2 (en) * 2013-03-13 2016-01-19 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing predictive query interface as a cloud service
EP2790113B1 (en) * 2013-04-11 2017-01-04 Hasso-Plattner-Institut für Softwaresystemtechnik GmbH Aggregate query-caching in databases architectures with a differential buffer and a main store
CN106933959A (zh) * 2013-11-15 2017-07-07 北京奇虎科技有限公司 浏览器侧进行网络搜索的方法与浏览器
EP3072089A4 (en) * 2013-11-22 2017-05-24 Cambridge Social Science Decision Lab Inc. Methods, systems, and articles of manufacture for the management and identification of causal knowledge
US10108622B2 (en) * 2014-03-26 2018-10-23 International Business Machines Corporation Autonomic regulation of a volatile database table attribute
US20160048561A1 (en) * 2014-08-15 2016-02-18 Chacha Search, Inc. Method, system, and computer readable storage for podcasting and video training in an information search system
CN106156244B (zh) * 2015-04-28 2020-08-28 阿里巴巴集团控股有限公司 一种信息搜索导航方法及装置
US9472203B1 (en) * 2015-06-29 2016-10-18 Amazon Technologies, Inc. Clock synchronization for multichannel system
US10235443B2 (en) * 2016-03-01 2019-03-19 Accenture Global Solutions Limited Parameter set determination for clustering of datasets
US20180004668A1 (en) * 2016-06-30 2018-01-04 Intel Corporation Searchable hot content cache
US10282483B2 (en) * 2016-08-04 2019-05-07 Facebook, Inc. Client-side caching of search keywords for online social networks
US11258879B2 (en) * 2017-06-19 2022-02-22 Northeastern University Joint routing and caching method for content delivery with optimality guarantees for arbitrary networks
CN110020094B (zh) * 2017-07-14 2023-06-13 阿里巴巴集团控股有限公司 一种搜索结果的展示方法和相关装置
CN109284847B (zh) * 2017-07-20 2020-12-25 杭州海康威视数字技术股份有限公司 一种机器学习、寻物方法及装置
CN111460248B (zh) * 2019-01-19 2023-05-23 北京嘀嘀无限科技发展有限公司 用于线上到线下服务的系统和方法
CN114730295A (zh) * 2019-11-25 2022-07-08 超威半导体公司 基于模式的高速缓存块压缩
US11379380B2 (en) * 2020-05-07 2022-07-05 Nxp Usa, Inc. Systems and methods for managing cache replacement
CN113688304B (zh) * 2020-05-19 2024-12-20 华为技术有限公司 搜索推荐模型的训练方法、搜索结果排序的方法及装置
US11704714B2 (en) * 2020-05-20 2023-07-18 Amazon Technologies, Inc. Reformulation of tail queries for product searches
CN111984689B (zh) * 2020-08-21 2023-07-25 北京百度网讯科技有限公司 信息检索的方法、装置、设备以及存储介质
CN112202837B (zh) * 2020-09-04 2022-05-17 苏州浪潮智能科技有限公司 一种基于数据集与节点缓存的调度方法和装置
US20230135783A1 (en) * 2020-09-29 2023-05-04 Beijing zitiao Network Technology Co.,Ltd. Target content search method, electronic device and storage medium
CN113568940B (zh) * 2021-08-04 2024-05-21 北京百度网讯科技有限公司 数据查询的方法、装置、设备以及存储介质
WO2023091906A1 (en) * 2021-11-16 2023-05-25 Google Llc Database query optimization via parameter-sensitive plan selection
US11941006B2 (en) * 2022-07-29 2024-03-26 Palo Alto Networks, Inc. Heuristic database querying with dynamic partitioning
CN115309777B (zh) * 2022-10-10 2023-01-24 北京奥星贝斯科技有限公司 数据查询的方法及装置

Also Published As

Publication number Publication date
US20250021550A1 (en) 2025-01-16
EP4492254A1 (en) 2025-01-15

Similar Documents

Publication Publication Date Title
CN111459985B (zh) 标识信息处理方法及装置
CN105308592A (zh) 连续数据流中关于关系的基于值的窗口
CN109669925B (zh) 非结构化数据的管理方法及装置
CN113656397A (zh) 一种针对时序数据的索引构建及查询的方法、装置
WO2022241813A1 (zh) 一种基于图压缩的图数据库构建方法、装置及相关组件
US11366821B2 (en) Epsilon-closure for frequent pattern analysis
CN113934713A (zh) 一种订单数据索引方法、系统、计算机设备以及存储介质
US20240289386A1 (en) Graph data management
CN112650777A (zh) 数据仓库的制作方法、装置、终端设备及计算机存储介质
US11645283B2 (en) Predictive query processing
CN112488708B (zh) 区块链账户关联性查询方法及虚假交易筛选方法
CN111723092B (zh) 数据处理方法及装置
US20230153286A1 (en) Method and system for hybrid query based on cloud analysis scene, and storage medium
CN116860786A (zh) 基于数据库的数据查询方法、装置、电子设备及存储介质
CN117909301A (zh) 基于索引的对象查询方法、装置、设备及介质
CN113297165B (zh) 数据处理方法、装置及数据库操作系统
CN116010345A (zh) 一种实现流批一体数据湖的表服务方案的方法、装置及设备
CN116049193A (zh) 数据存储方法及装置
CN114547117A (zh) 一种数据处理方法、装置、设备、存储介质及产品
CN112286995B (zh) 一种数据分析方法、装置、服务器、系统及存储介质
CN115794861A (zh) 基于特征摘要的离线数据查询复用方法及其应用
CN115733787A (zh) 一种网络识别方法、装置、服务器及存储介质
CN117093597B (zh) 数据处理方法及装置
CN111651466A (zh) 数据采样方法及装置
CN117785889B (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