CN115964374A - 一种基于预计算场景的查询处理方法及其装置 - Google Patents
一种基于预计算场景的查询处理方法及其装置 Download PDFInfo
- Publication number
- CN115964374A CN115964374A CN202310188956.8A CN202310188956A CN115964374A CN 115964374 A CN115964374 A CN 115964374A CN 202310188956 A CN202310188956 A CN 202310188956A CN 115964374 A CN115964374 A CN 115964374A
- Authority
- CN
- China
- Prior art keywords
- query
- optimization
- user
- access constraint
- rewrite
- 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
- 238000004364 calculation method Methods 0.000 title claims abstract description 62
- 238000003672 processing method Methods 0.000 title claims abstract description 24
- 238000005457 optimization Methods 0.000 claims abstract description 153
- 238000012545 processing Methods 0.000 claims abstract description 75
- 238000000034 method Methods 0.000 claims abstract description 38
- 230000008569 process Effects 0.000 claims abstract description 13
- 230000014509 gene expression Effects 0.000 claims description 98
- 230000002776 aggregation Effects 0.000 claims description 80
- 238000004220 aggregation Methods 0.000 claims description 80
- 238000001914 filtration Methods 0.000 claims description 42
- 238000004458 analytical method Methods 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 48
- 238000010586 diagram Methods 0.000 description 7
- 230000001133 acceleration Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000007405 data analysis Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000010006 flight Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
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/22—Indexing; Data structures therefor; Storage 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
-
- 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
-
- 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)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种基于预计算场景的查询处理方法及其装置,所述方法涉及用户端、优化端、执行端和数据库,所述方法包括:所述优化端接收所述用户端发送的查询请求,所述用户端用于依据用户需求生成查询请求,并向所述优化端发送所述查询请求;所述优化端依据所述查询请求在所述数据库中读取元数据;所述优化端依据所述数据表内的数据进行预计算处理生成第一访问约束;所述优化端依据所述第一访问约束和查询改写类型生成查询计划;所述优化端将所述查询计划发送至所述执行端,所述执行端用于将所述查询计划执行后生成的查询结果反馈至所述用户端。访问约束增加预计算处理之后,减少了查询执行过程中的计算量;加速了查询性能。
Description
技术领域
本申请涉及数据查询领域,特别是一种基于预计算场景的查询处理方法及其装置。
背景技术
对于大数据场景下的查询分析,查询性能是关键指标之一。为了提升查询性能,业界探索了多种方法,包括索引、物化视图和cube、基于有界计算的访问约束。
目前现有技术中:1)索引:提高查询效率的典型方法是为查询创建合适的索引,常见的索引包括B+Tree索引、Hash索引、Bitmap索引,查询时根据索引可以快速的定位到满足条件的记录或记录的范围,从而减少参与计算的记录数。2)物化视图和cube:物化视图和cube都可以用于预先计算并保存表连接或聚集等耗时较多的操作的结果,这样,在执行查询时,就可以避免进行这些耗时的操作,而从快速的得到结果。当源表发生变化时,物化视图也应当刷新。3)基于有界计算的访问约束:基于上述有界计算的原理,可以在表上创建访问约束(AC){x->y,N},对于表的任何满足访问约束的查询Q,都可以改写为对AC的查询Q’,从而加速查询性能。
而在大数据分析场景,针对海量数据的分组聚集、join、过滤等操作计算量都非常大,查询效率较低。基于有界计算理论的访问约束,对于包含分组聚集、join、过滤等操作的复杂查询的加速效果不够理想。存在大数据分析场景下访问约束效率不高的问题,极大的影响了查询效率。
发明内容
鉴于所述问题,提出了本申请以便提供克服所述问题或者至少部分地解决所述问题的一种基于预计算场景的查询处理方法及其装置,包括:
一种基于预计算场景的查询处理方法,所述方法涉及用户端、优化端、执行端和数据库,所述方法包括:
所述优化端接收所述用户端发送的查询请求,所述用户端用于依据用户需求生成查询请求,并向所述优化端发送所述查询请求;
所述优化端依据所述查询请求在所述数据库中读取元数据,其中,所述元数据包括数据表和访问约束集合;
所述优化端依据所述数据表内的数据进行预计算处理生成第一访问约束,其中,所述预计算处理包括条件过滤、聚集函数和表达式计算;
所述优化端依据所述第一访问约束和查询改写类型生成查询计划,其中,查询改写类型包括Filter匹配改写、投影匹配改写、聚集列匹配改写和Join改写;
所述优化端将所述查询计划发送至所述执行端,所述执行端用于将所述查询计划执行后生成的查询结果反馈至所述用户端。
进一步地,所述依据所述数据表内的数据进行预计算处理生成第一访问约束,其中,所述预计算处理包括条件过滤、聚集函数和表达式计算的步骤,包括:
当所述预计算处理为所述条件过滤时,所述优化端依据预设过滤条件在所述数据表的所述数据中确定符合所述预设过滤条件的预处理数据;
所述优化端依据所述预处理数据生成所述第一访问约束。
进一步地,所述依据所述数据表内的数据进行预计算处理生成第一访问约束,其中,所述预计算处理包括条件过滤、聚集函数和表达式计算的步骤,包括:
所述优化端依据所述数据生成第一初始访问约束,并获取所述第一初始访问约束中的第一表达式集合和第二表达式集合;
当所述预计算处理为所述聚集函数时,所述优化端在所述第一表达式集合和所述第二表达式集合中添加或修改预设聚集函数,并依据添加或修改的所述预设聚集函数后的所述第一表达式集合和所述预设聚集函数后的所述第二表达式集合生成所述第一访问约束;其中,所述预设聚集函数包括含有指定字段或含有指定表达式。
进一步地,所述依据所述数据表内的数据进行预计算处理生成第一访问约束,其中,所述预计算处理包括条件过滤、聚集函数和表达式计算的步骤,包括:
所述优化端依据所述数据生成第二初始访问约束,并获取所述第二初始访问约束中的第三表达式集合和第四表达式集合;
当所述预计算处理为所述表达式计算时,所述优化端依据所述第三表达式集合和所述第四表达式集合获取目标字段;
所述优化端依据所述目标字段确定对应于所述数据表中的目标列;
所述优化端依据所述目标列确定对应于所述目标列的目标表达式;
所述优化端依据所述目标表达式进行计算生成所述第一访问约束。
进一步地,所述依据所述第一访问约束和查询改写类型生成查询计划,其中,查询改写类型包括Filter匹配改写、投影匹配改写、聚集列匹配改写和Join改写的步骤,包括:
当所述查询改写类型为所述Filter匹配改写时,所述优化端确定分析查询语句生成的结果集是否为所述第一访问约束的子集,若是,则依据所述第一访问约束生成所述查询计划;或,
当所述查询改写类型为所述投影匹配改写时,所述优化端确定分析查询语句内的投影表达式是否包含在所述第一访问约束内,若是,则依据所述第一访问约束生成所述查询计划;或,
当所述查询改写类型为聚集列匹配改写时,所述优化端确定所述第一访问约束内的目标聚集函数,且修改分析查询语句对应的原始聚集函数,通过所述目标聚集函数和修改后的所述原始聚集函数生成所述查询计划;或,
当所述查询改写类型为Join改写时,所述优化端确定join算子的左右节点的数据是否存在于所述第一访问约束中,若是,则依据所述第一访问约束生成所述查询计划。
本申请实施例还公开了一种基于预计算场景的查询处理方法,所述方法涉及用户端、优化端、执行端和数据库,所述方法包括:
所述执行端接收所述优化端发送的所述查询计划,所述优化端用于向所述执行端发送所述查询计划;
所述执行端依据所述查询计划确定目标访问约束;
所述执行端依据所述目标访问约束在所述数据表确定第二目标数据;
所述执行端依据所述第二目标数据生成查询结果;
所述执行端将所述查询结果发送至所述用户端,所述用户端用于接收所述执行端反馈的所述查询结果。
本申请实施例还公开了一种基于预计算场景的查询处理方法,所述方法涉及用户端、优化端、执行端和数据库,所述方法包括:
所述用户端依据用户需求生成查询请求,并将所述查询请求发送至所述优化端,所述优化端用于接收所述用户端发送的所述查询请求;
所述用户端接收所述执行端发送的所述查询结果,并将所述查询结果返回至对应的目标用户,所述执行端用于将所述查询结果反馈至所述用户端。
本申请实施例还公开了一种基于预计算场景的查询处理装置,所述装置涉及用户端、优化端、执行端和数据库,所述装置包括:
第一发送模块,用于所述优化端接收所述用户端发送的查询请求,所述用户端用于依据用户需求生成查询请求,并向所述优化端发送所述查询请求;
第一读取模块,用于所述优化端依据所述查询请求在所述数据库中读取元数据,其中,所述元数据包括数据表和访问约束集合;
第一生成模块,用于所述优化端依据所述数据表内的数据进行预计算处理生成第一访问约束,其中,所述预计算处理包括条件过滤、聚集函数和表达式计算;
第二生成模块,用于所述优化端依据所述第一访问约束和查询改写类型生成查询计划,其中,查询改写类型包括Filter匹配改写、投影匹配改写、聚集列匹配改写和Join改写;
第二发送模块,用于所述优化端将所述查询计划发送至所述执行端,所述执行端用于将所述查询计划执行后生成的查询结果反馈至所述用户端。
本申请实施例还公开了一种基于预计算场景的查询处理装置,所述装置涉及用户端、优化端、执行端和数据库,所述装置包括:
第三发送模块,用于所述执行端接收所述优化端发送的所述查询计划,所述优化端用于向所述执行端发送所述查询计划;
第一确定模块,用于所述执行端依据所述查询计划确定目标访问约束;
第二确定模块,用于所述执行端依据所述目标访问约束在所述数据表确定第二目标数据;
第三生成模块,用于所述执行端依据所述第二目标数据生成查询结果;
第四发送模块,用于所述执行端将所述查询结果发送至所述用户端,所述用户端用于接收所述执行端反馈的所述查询结果。
本申请实施例还公开了一种基于预计算场景的查询处理装置,所述装置涉及用户端、优化端、执行端和数据库,所述装置包括:
第五发送模块,用于所述用户端依据用户需求生成查询请求,并将所述查询请求发送至所述优化端,所述优化端用于接收所述用户端发送的所述查询请求;
返回模块,用于所述用户端接收所述执行端发送的所述查询结果,并将所述查询结果返回至对应的目标用户,所述执行端用于将所述查询结果反馈至所述用户端。
本申请具有以下优点:
在本申请的实施例中,相对于现有技术中的“操作计算量都非常大,查询效率较低;复杂查询的加速效果不够理想;访问约束效率不高,极大的影响了查询效率的问题”,本申请提供了“访问约束的预计算处理”的解决方案,具体为:“所述优化端接收所述用户端发送的查询请求,所述用户端用于依据用户需求生成查询请求,并向所述优化端发送所述查询请求;所述优化端依据所述查询请求在所述数据库中读取元数据,其中,所述元数据包括数据表和访问约束集合;所述优化端依据所述数据表内的数据进行预计算处理生成第一访问约束,其中,所述预计算处理包括条件过滤、聚集函数和表达式计算;所述优化端依据所述第一访问约束和查询改写类型生成查询计划,其中,查询改写类型包括Filter匹配改写、投影匹配改写、聚集列匹配改写和Join改写;所述优化端将所述查询计划发送至所述执行端,所述执行端用于将所述查询计划执行后生成的查询结果反馈至所述用户端”。通过“所述第一访问约束和查询改写类型生成查询计划”解决了“操作计算量都非常大,查询效率较低;复杂查询的加速效果不够理想;访问约束效率不高,极大的影响了查询效率的问题”达到了“访问约束增加预计算处理之后,可以将查询时的计算提前到生成访问约束数据时,减少了查询执行过程中的计算量;有助于提高复杂度、减少访问约束的数据量,加速了查询性能”。
附图说明
为了更清楚地说明本申请的技术方案,下面将对本申请的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的一种基于预计算场景的查询处理方法的步骤流程图;
图2是本申请一实施例提供的一种基于预计算场景的查询处理方法的步骤流程图;
图3是本申请一实施例提供的一种基于预计算场景的查询处理方法的步骤流程图;
图4是本申请一实施例提供的一种基于预计算场景的查询处理装置的结构框图;
图5是本申请一实施例提供的一种基于预计算场景的查询处理装置的结构框图;
图6是本申请一实施例提供的一种基于预计算场景的查询处理装置的结构框图;
图7是本发明一实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请的所述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
发明人通过分析现有技术发现:
1.索引在面对大数据量查询时,可能会存在大量的随机IO,导致性能下降;数据有大量重复时,在索引中全部要存储,无法节省存储空间;而且索引没有对聚集操作的预计算。
2.物化视图和cube难以做到实时同步更新,通常需要刷新数据,在数据量较大时刷新时间较长,在刷新数据期间物化视图不可用。这些限制都导致物化视图和cube的灵活性比较差,只能用于相对固定的查询语句。
3.有界计算的访问约束中,需要找到x->y的重复度N,并将重复的x->y存储为{x,y,count}。我们在应用中发现,实际的查询语句往往涉及表中的大量字段,为了使得查询能够使用AC(在数据表上根据访问模式创建的访问约束),不得不将这些字段加入到x或y中,即使其中一些字段仅用于过滤或者聚集。这就导致在实际应用中创建的AC的x、y的字段数过多,使得重复度N较小,不能达到理想的加速效果。
而在大数据分析场景,针对海量数据的分组聚集、join、过滤等操作计算量都非常大,查询效率较低。基于有界计算理论的访问约束,对于包含分组聚集、join、过滤等操作的复杂查询的加速效果不够理想。存在大数据分析场景下访问约束效率不高的问题,极大的影响了查询效率。
需要说明的是,原始的AC的组织方式为,根据模型定义{x->y,N}对指定列的重复数据进行压缩去重。其中x和y都是表达式的集合,每个表达式包含表中的一个或多个字段。因此,AC中包含x、y、每个x值对应的y值的重复记录的数量(称为重复度,记作count),也就是说AC是{x,y,count}数据的集合。一般而言,x、y涉及的字段越多,则x->y越不容易获得较高的重复度,即count的值会比较小。
参照图1,示出了本申请一实施例提供的一种基于预计算场景的查询处理方法的步骤流程图;
一种基于预计算场景的查询处理方法,所述方法涉及用户端、优化端、执行端和数据库,所述方法包括:
S110、所述优化端接收所述用户端发送的查询请求,所述用户端用于依据用户需求生成查询请求,并向所述优化端发送所述查询请求;
S120、所述优化端依据所述查询请求在所述数据库中读取元数据,其中,所述元数据包括数据表和访问约束集合;
S130、所述优化端依据所述数据表内的数据进行预计算处理生成第一访问约束,其中,所述预计算处理包括条件过滤、聚集函数和表达式计算;
S140、所述优化端依据所述第一访问约束和查询改写类型生成查询计划,其中,查询改写类型包括Filter匹配改写、投影匹配改写、聚集列匹配改写和Join改写;
S150、所述优化端将所述查询计划发送至所述执行端,所述执行端用于将所述查询计划执行后生成的查询结果反馈至所述用户端。
在本申请的实施例中,相对于现有技术中的“操作计算量都非常大,查询效率较低;复杂查询的加速效果不够理想;访问约束效率不高,极大的影响了查询效率的问题”,本申请提供了“访问约束的预计算处理”的解决方案,具体为:“所述优化端接收所述用户端发送的查询请求,所述用户端用于依据用户需求生成查询请求,并向所述优化端发送所述查询请求;所述优化端依据所述查询请求在所述数据库中读取元数据,其中,所述元数据包括数据表和访问约束集合;所述优化端依据所述数据表内的数据进行预计算处理生成第一访问约束,其中,所述预计算处理包括条件过滤、聚集函数和表达式计算;所述优化端依据所述第一访问约束和查询改写类型生成查询计划,其中,查询改写类型包括Filter匹配改写、投影匹配改写、聚集列匹配改写和Join改写;所述优化端将所述查询计划发送至所述执行端,所述执行端用于将所述查询计划执行后生成的查询结果反馈至所述用户端”。通过“所述第一访问约束和查询改写类型生成查询计划”解决了“操作计算量都非常大,查询效率较低;复杂查询的加速效果不够理想;访问约束效率不高,极大的影响了查询效率的问题”达到了“访问约束增加预计算处理之后,可以将查询时的计算提前到生成访问约束数据时,减少了查询执行过程中的计算量;有助于提高复杂度、减少访问约束的数据量,加速了查询性能”。
下面,将对本示例性实施例中一种基于预计算场景的查询处理方法作进一步地说明。
在本发明一实施例中,创建访问约束时,需要由用户给出访问约束的完整定义,包括访问约束的过滤条件、x和y的具体的定义、聚集函数的定义。数据库根据访问约束的定义对原表的数据根据指定的过滤条件过滤数据并生成{x,y,count,aggregate}数据,其中aggregate表示聚集函数的集合。
在本发明一实施例中,通过预计算处理能够筛选出一部分需要的数据,将不需要的数据进行去除,并在生成第一访问约束时,第一访问约束内的数据为已通过预计算处理后所需要的数据,可免除在生成第一访问约束重新的对数据进行筛选,提高了工作效率。
在本发明一实施例中,所述依据所述数据表内的数据进行预计算处理生成第一访问约束,其中,所述预计算处理包括条件过滤、聚集函数和表达式计算的步骤,包括:
当所述预计算处理为所述条件过滤时,所述优化端依据预设过滤条件在所述数据表的所述数据中确定符合所述预设过滤条件的预处理数据;
所述优化端依据所述预处理数据生成所述第一访问约束。
需要说明的是,条件过滤用于为第一访问约束增加预设过滤条件,只有满足预设过滤条件的数据才会插入到第一访问约束中。
在本发明一实施例中,所述依据所述数据表内的数据进行预计算处理生成第一访问约束,其中,所述预计算处理包括条件过滤、聚集函数和表达式计算的步骤,包括:
所述优化端依据所述数据生成第一初始访问约束,并获取所述第一初始访问约束中的第一表达式集合和第二表达式集合;
当所述预计算处理为所述聚集函数时,所述优化端在所述第一表达式集合和所述第二表达式集合中添加或修改预设聚集函数,并依据添加或修改的所述预设聚集函数后的所述第一表达式集合和所述预设聚集函数后的所述第二表达式集合生成所述第一访问约束;其中,所述预设聚集函数包括含有指定字段或含有指定表达式。
需要说明的是,在第一表达式集合和第二表达式集合之外可以增加对指定字段或表达式的聚集函数,实现对聚集运算的预计算。
在本发明一实施例中,所述依据所述数据表内的数据进行预计算处理生成第一访问约束,其中,所述预计算处理包括条件过滤、聚集函数和表达式计算的步骤,包括:
所述优化端依据所述数据生成第二初始访问约束,并获取所述第二初始访问约束中的第三表达式集合和第四表达式集合;
当所述预计算处理为所述表达式计算时,所述优化端依据所述第三表达式集合和所述第四表达式集合获取目标字段;
所述优化端依据所述目标字段确定对应于所述数据表中的目标列;
所述优化端依据所述目标列确定对应于所述目标列的目标表达式;
所述优化端依据所述目标表达式进行计算生成所述第一访问约束。
需要说明的是,第三表达式集合和第四表达式集合中的字段不仅可以是表中的列,也可以是对表中列的表达式计算,实现对表达式计算的预计算。
在一具体实现中,表达式也可以出现在过滤条件中。
在本发明一实施例中,所述依据所述第一访问约束和查询改写类型生成查询计划,其中,查询改写类型包括Filter匹配改写、投影匹配改写、聚集列匹配改写和Join改写的步骤,包括:
当所述查询改写类型为所述Filter匹配改写时,所述优化端确定分析查询语句生成的结果集是否为所述第一访问约束的子集,若是,则依据所述第一访问约束生成所述查询计划;或,
当所述查询改写类型为所述投影匹配改写时,所述优化端确定分析查询语句内的投影表达式是否包含在所述第一访问约束内,若是,则依据所述第一访问约束生成所述查询计划;或,
当所述查询改写类型为聚集列匹配改写时,所述优化端确定所述第一访问约束内的目标聚集函数,且修改分析查询语句对应的原始聚集函数,通过所述目标聚集函数和修改后的所述原始聚集函数生成所述查询计划;或,
当所述查询改写类型为Join改写时,所述优化端确定join算子的左右节点的数据是否存在于所述第一访问约束中,若是,则依据所述第一访问约束生成所述查询计划。
需要说明的是,通过分析查询语句确定分别对应于所述Filter匹配改写、所述投影匹配改写、所述聚集列匹配改写和所述Join改写的表达式,依据表达式确定与所述访问约束集合中访问约束定义的目标表达式的重叠程度和/或逻辑关系,再所述重叠程度和/或所述逻辑关系在所述查询语句中可以利用所述访问约束的表达式计算改写为对所述访问约束中特定列的直接查询。
需要说明的是,一条分析查询语句能否使用某一个AC需要根据AC创建时的定义与查询语句的一些信息进行比较来判断是否可用,即AC匹配的过程,通过Filter匹配改写、投影匹配改写、聚集列匹配改写和Join改写实现AC匹配。
需要说明的是,在查询表中的数据时,那么在查询优化阶段优化器会判断是否可以将查询改写为对AC的访问。优化器的查询改写主要分为以下几个方面:Filter匹配改写、投影匹配改写、聚集列匹配改写和Join改写。
需要说明的是,Filter匹配改写的目的是确保所查询的结果集是AC定义时的结果集的子集,通过删除已满足的filter减少查询的计算量。
需要说明的是,投影匹配改写的目的是保证一个查询所需的所有投影表达式都能由AC中数据提供。因此优化器会基于查询所生成的逻辑算子树来计算底层扫描所需要向上投影的表达式,并用计算得到的投影与AC定义中的表达式进行匹配操作,要求所有的投影表达式都能通过AC定义中的表达式进行运算得到。
需要说明的是,聚集列匹配改写会识别出AC中能够使用的聚集函数并改写原始查询中的聚集函数,从而降低计算量,加快查询速度。
需要说明的是,Join改写会识别出join算子的左右节点的数据是否含有来自AC的count列,如果左右节点都有则将Join输出列中增加左右节点count列的乘积。
参照图2,本发明实施例还公开了本申请一实施例提供的一种基于预计算场景的查询处理方法的步骤流程图;
一种基于预计算场景的查询处理方法,所述方法涉及用户端、优化端、执行端和数据库,所述方法包括:
S210、所述执行端接收所述优化端发送的所述查询计划,所述优化端用于向所述执行端发送所述查询计划;
S220、所述执行端依据所述查询计划确定目标访问约束;
S230、所述执行端依据所述目标访问约束在所述数据表确定第二目标数据;
S240、所述执行端依据所述第二目标数据生成查询结果;
S250、所述执行端将所述查询结果发送至所述用户端,所述用户端用于接收所述执行端反馈的所述查询结果。
参照图3,本发明实施例还公开了本申请一实施例提供的一种基于预计算场景的查询处理方法的步骤流程图;
一种基于预计算场景的查询处理方法,所述方法涉及用户端、优化端、执行端和数据库,所述方法包括:
S310、所述用户端依据用户需求生成查询请求,并将所述查询请求发送至所述优化端,所述优化端用于接收所述用户端发送的所述查询请求;
S320、所述用户端接收所述执行端发送的所述查询结果,并将所述查询结果返回至对应的目标用户,所述执行端用于将所述查询结果反馈至所述用户端。
实施例一
on_time表结构:
on_time表记录的是航班的晚点信息。on_time表有超过1亿条记录,并且FlightNo、DestAirportID、DelayTime这几个字段有大量的重复值。
有如下查询:
select FlightNo,avg(DelayTime)from on_time where DestAirportID=
‘101’group by FlightNo;
假设有1000个航班,满足DestAirportID=‘101’条件的记录有100万条,每个DestAirportID最多对应1000个FlightNo,也就是DestAirportID->
FlightNo的重复度为1000。
如果通过对on_time表进行全表过滤再做分组聚集的方式执行上面的查询语句,首先要对1亿条记录进行比较过滤,再过滤出的100万条记录进行分组聚集,有1000个分组,每个分组需要对DelayTime累加1000次,也就是总共累加100万次。
如果按照原始的AC的方式,需要为on_time表创建AC:{DestAirportID,FlightNo,DelayTime,count}。利用本发明设计的访问约束,为on_time表创建AC:{DestAirportID,FlightNo,count,sum(DelayTime)as SumDelayTime},从前面对数据量的假设可知AC最多有100万条记录。从AC中查询出的符合条件的记录约为1000条,聚合操作直接从SumDelayTime取值,计算量大幅减少。
当前技术方案的优点:
1.为AC增加了预计算能力,减少查询时的计算量;
2.降低了AC中字段的数量,有利于提升重复度,减少数据量。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
参照图4,示出了本申请一实施例提供的一种基于预计算场景的查询处理装置的结构框图;
一种基于预计算场景的查询处理装置,所述装置涉及用户端、优化端、执行端和数据库,所述装置包括:
第一发送模块410,用于所述优化端接收所述用户端发送的查询请求,所述用户端用于依据用户需求生成查询请求,并向所述优化端发送所述查询请求;
第一读取模块420,用于所述优化端依据所述查询请求在所述数据库中读取元数据,其中,所述元数据包括数据表和访问约束集合;
第一生成模块430,用于所述优化端依据所述数据表内的数据进行预计算处理生成第一访问约束,其中,所述预计算处理包括条件过滤、聚集函数和表达式计算;
第二生成模块440,用于所述优化端依据所述第一访问约束和查询改写类型生成查询计划,其中,查询改写类型包括Filter匹配改写、投影匹配改写、聚集列匹配改写和Join改写;
第二发送模块450,用于所述优化端将所述查询计划发送至所述执行端,所述执行端用于将所述查询计划执行后生成的查询结果反馈至所述用户端。
在本发明一实施例中,所述第一生成模块430,包括:
第一确定子模块,用于当所述预计算处理为所述条件过滤时,所述优化端依据预设过滤条件在所述数据表的所述数据中确定符合所述预设过滤条件的预处理数据;
第一生成子模块,用于所述优化端依据所述预处理数据生成所述第一访问约束。
在本发明一实施例中,所述第一生成模块430,包括:
第一获取子模块,用于所述优化端依据所述数据生成第一初始访问约束,并获取所述第一初始访问约束中的第一表达式集合和第二表达式集合;
第二生成子模块,用于当所述预计算处理为所述聚集函数时,所述优化端在所述第一表达式集合和所述第二表达式集合中添加或修改预设聚集函数,并依据添加或修改的所述预设聚集函数后的所述第一表达式集合和所述预设聚集函数后的所述第二表达式集合生成所述第一访问约束;其中,所述预设聚集函数包括含有指定字段或含有指定表达式。
在本发明一实施例中,所述第一生成模块430,包括:
第二获取子模块,用于所述优化端依据所述数据生成第二初始访问约束,并获取所述第二初始访问约束中的第三表达式集合和第四表达式集合;
第三获取子模块,用于当所述预计算处理为所述表达式计算时,所述优化端依据所述第三表达式集合和所述第四表达式集合获取目标字段;
第二确定子模块,用于所述优化端依据所述目标字段确定对应于所述数据表中的目标列;
第三确定子模块,用于所述优化端依据所述目标列确定对应于所述目标列的目标表达式;
第三生成子模块,用于所述优化端依据所述目标表达式进行计算生成所述第一访问约束。
在本发明一实施例中,所述第二生成模块440,包括:
第四生成子模块,用于当所述查询改写类型为所述Filter匹配改写时,所述优化端确定分析查询语句生成的结果集是否为所述第一访问约束的子集,若是,则依据所述第一访问约束生成所述查询计划;或,
第五生成子模块,用于当所述查询改写类型为所述投影匹配改写时,所述优化端确定分析查询语句内的投影表达式是否包含在所述第一访问约束内,若是,则依据所述第一访问约束生成所述查询计划;或,
第六生成子模块,用于当所述查询改写类型为聚集列匹配改写时,所述优化端确定所述第一访问约束内的目标聚集函数,且修改分析查询语句对应的原始聚集函数,通过所述目标聚集函数和修改后的所述原始聚集函数生成所述查询计划;或,
第七生成子模块,用于当所述查询改写类型为Join改写时,所述优化端确定join算子的左右节点的数据是否存在于所述第一访问约束中,若是,则依据所述第一访问约束生成所述查询计划。
参照图5,示出了本申请一实施例提供的一种基于预计算场景的查询处理装置的结构框图;
一种基于预计算场景的查询处理装置,所述装置涉及用户端、优化端、执行端和数据库,所述装置包括:
第三发送模块510,用于所述执行端接收所述优化端发送的所述查询计划,所述优化端用于向所述执行端发送所述查询计划;
第一确定模块520,用于所述执行端依据所述查询计划确定目标访问约束;
第二确定模块530,用于所述执行端依据所述目标访问约束在所述数据表确定第二目标数据;
第三生成模块540,用于所述执行端依据所述第二目标数据生成查询结果;
第四发送模块550,用于所述执行端将所述查询结果发送至所述用户端,所述用户端用于接收所述执行端反馈的所述查询结果。
参照图6,示出了本申请一实施例提供的一种基于预计算场景的查询处理装置的结构框图;
一种基于预计算场景的查询处理装置,所述装置涉及用户端、优化端、执行端和数据库,所述装置包括:
第五发送模块610,用于所述用户端依据用户需求生成查询请求,并将所述查询请求发送至所述优化端,所述优化端用于接收所述用户端发送的所述查询请求;
返回模块620,用于所述用户端接收所述执行端发送的所述查询结果,并将所述查询结果返回至对应的目标用户,所述执行端用于将所述查询结果反馈至所述用户端
参照图7,示出了本发明的一种基于预计算场景的查询处理方法的计算机设备,具体可以包括如下:
上述计算机设备12以通用计算设备的形式表现,计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线18结构中的一种或多种,包括存储器总线18或者存储器控制器,外围总线18,图形加速端口,处理器或者使用多种总线18结构中的任意总线18结构的局域总线18。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线18,微通道体系结构(MAC)总线18,增强型ISA总线18、音视频电子标准协会(VESA)局域总线18以及外围组件互连(PCI)总线18。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其他移动/不可移动的、易失性/非易失性计算机体统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其他光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质界面与总线18相连。存储器可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块42,这些程序模块42被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其他程序模块42以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24、摄像头等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其他计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)界面22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN)),广域网(WAN)和/或公共网络(例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其他模块通信。应当明白,尽管图7中未示出,可以结合计算机设备12使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元16、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统34等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的基于预计算场景的查询处理方法。
也即,上述处理单元16执行上述程序时实现:所述优化端接收所述用户端发送的查询请求,所述用户端用于依据用户需求生成查询请求,并向所述优化端发送所述查询请求;所述优化端依据所述查询请求在所述数据库中读取元数据,其中,所述元数据包括数据表和访问约束集合;所述优化端依据所述数据表内的数据进行预计算处理生成第一访问约束,其中,所述预计算处理包括条件过滤、聚集函数和表达式计算;所述优化端依据所述第一访问约束和查询改写类型生成查询计划,其中,查询改写类型包括Filter匹配改写、投影匹配改写、聚集列匹配改写和Join改写;所述优化端将所述查询计划发送至所述执行端,所述执行端用于将所述查询计划执行后生成的查询结果反馈至所述用户端。
在本发明实施例中,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有实施例提供的基于预计算场景的查询处理方法:
也即,给程序被处理器执行时实现:所述优化端接收所述用户端发送的查询请求,所述用户端用于依据用户需求生成查询请求,并向所述优化端发送所述查询请求;所述优化端依据所述查询请求在所述数据库中读取元数据,其中,所述元数据包括数据表和访问约束集合;所述优化端依据所述数据表内的数据进行预计算处理生成第一访问约束,其中,所述预计算处理包括条件过滤、聚集函数和表达式计算;所述优化端依据所述第一访问约束和查询改写类型生成查询计划,其中,查询改写类型包括Filter匹配改写、投影匹配改写、聚集列匹配改写和Join改写;所述优化端将所述查询计划发送至所述执行端,所述执行端用于将所述查询计划执行后生成的查询结果反馈至所述用户端。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机克顿信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言——诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或者服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种基于预计算场景的查询处理方法及其装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种基于预计算场景的查询处理方法,其特征在于,所述方法涉及用户端、优化端、执行端和数据库,所述方法包括:
所述优化端接收所述用户端发送的查询请求,所述用户端用于依据用户需求生成查询请求,并向所述优化端发送所述查询请求;
所述优化端依据所述查询请求在所述数据库中读取元数据,其中,所述元数据包括数据表和访问约束集合;
所述优化端依据所述数据表内的数据进行预计算处理生成第一访问约束,其中,所述预计算处理包括条件过滤、聚集函数和表达式计算;
所述优化端依据所述第一访问约束和查询改写类型生成查询计划,其中,查询改写类型包括Filter匹配改写、投影匹配改写、聚集列匹配改写和Join改写;
所述优化端将所述查询计划发送至所述执行端,所述执行端用于将所述查询计划执行后生成的查询结果反馈至所述用户端。
2.根据权利要求1所述的方法,其特征在于,所述依据所述数据表内的数据进行预计算处理生成第一访问约束,其中,所述预计算处理包括条件过滤、聚集函数和表达式计算的步骤,包括:
当所述预计算处理为所述条件过滤时,所述优化端依据预设过滤条件在所述数据表的所述数据中确定符合所述预设过滤条件的预处理数据;
所述优化端依据所述预处理数据生成所述第一访问约束。
3.根据权利要求1所述的方法,其特征在于,所述依据所述数据表内的数据进行预计算处理生成第一访问约束,其中,所述预计算处理包括条件过滤、聚集函数和表达式计算的步骤,包括:
所述优化端依据所述数据生成第一初始访问约束,并获取所述第一初始访问约束中的第一表达式集合和第二表达式集合;
当所述预计算处理为所述聚集函数时,所述优化端在所述第一表达式集合和所述第二表达式集合中添加或修改预设聚集函数,并依据添加或修改的所述预设聚集函数后的所述第一表达式集合和所述预设聚集函数后的所述第二表达式集合生成所述第一访问约束;其中,所述预设聚集函数包括含有指定字段或含有指定表达式。
4.根据权利要求1所述的方法,其特征在于,所述依据所述数据表内的数据进行预计算处理生成第一访问约束,其中,所述预计算处理包括条件过滤、聚集函数和表达式计算的步骤,包括:
所述优化端依据所述数据生成第二初始访问约束,并获取所述第二初始访问约束中的第三表达式集合和第四表达式集合;
当所述预计算处理为所述表达式计算时,所述优化端依据所述第三表达式集合和所述第四表达式集合获取目标字段;
所述优化端依据所述目标字段确定对应于所述数据表中的目标列;
所述优化端依据所述目标列确定对应于所述目标列的目标表达式;
所述优化端依据所述目标表达式进行计算生成所述第一访问约束。
5.根据权利要求1所述的方法,其特征在于,所述依据所述第一访问约束和查询改写类型生成查询计划,其中,查询改写类型包括Filter匹配改写、投影匹配改写、聚集列匹配改写和Join改写的步骤,包括:
当所述查询改写类型为所述Filter匹配改写时,所述优化端确定分析查询语句生成的结果集是否为所述第一访问约束的子集,若是,则依据所述第一访问约束生成所述查询计划;或,
当所述查询改写类型为所述投影匹配改写时,所述优化端确定分析查询语句内的投影表达式是否包含在所述第一访问约束内,若是,则依据所述第一访问约束生成所述查询计划;或,
当所述查询改写类型为聚集列匹配改写时,所述优化端确定所述第一访问约束内的目标聚集函数,且修改分析查询语句对应的原始聚集函数,通过所述目标聚集函数和修改后的所述原始聚集函数生成所述查询计划;或,
当所述查询改写类型为Join改写时,所述优化端确定join算子的左右节点的数据是否存在于所述第一访问约束中,若是,则依据所述第一访问约束生成所述查询计划。
6.一种基于预计算场景的查询处理方法,其特征在于,所述方法涉及用户端、优化端、执行端和数据库,所述方法包括:
所述执行端接收所述优化端发送的所述查询计划,所述优化端用于向所述执行端发送所述查询计划;
所述执行端依据所述查询计划确定目标访问约束;
所述执行端依据所述目标访问约束在所述数据表确定第二目标数据;
所述执行端依据所述第二目标数据生成查询结果;
所述执行端将所述查询结果发送至所述用户端,所述用户端用于接收所述执行端反馈的所述查询结果。
7.一种基于预计算场景的查询处理方法,其特征在于,所述方法涉及用户端、优化端、执行端和数据库,所述方法包括:
所述用户端依据用户需求生成查询请求,并将所述查询请求发送至所述优化端,所述优化端用于接收所述用户端发送的所述查询请求;
所述用户端接收所述执行端发送的所述查询结果,并将所述查询结果返回至对应的目标用户,所述执行端用于将所述查询结果反馈至所述用户端。
8.一种基于预计算场景的查询处理装置,其特征在于,所述装置涉及用户端、优化端、执行端和数据库,所述装置包括:
第一发送模块,用于所述优化端接收所述用户端发送的查询请求,所述用户端用于依据用户需求生成查询请求,并向所述优化端发送所述查询请求;
第一读取模块,用于所述优化端依据所述查询请求在所述数据库中读取元数据,其中,所述元数据包括数据表和访问约束集合;
第一生成模块,用于所述优化端依据所述数据表内的数据进行预计算处理生成第一访问约束,其中,所述预计算处理包括条件过滤、聚集函数和表达式计算;
第二生成模块,用于所述优化端依据所述第一访问约束和查询改写类型生成查询计划,其中,查询改写类型包括Filter匹配改写、投影匹配改写、聚集列匹配改写和Join改写;
第二发送模块,用于所述优化端将所述查询计划发送至所述执行端,所述执行端用于将所述查询计划执行后生成的查询结果反馈至所述用户端。
9.一种基于预计算场景的查询处理装置,其特征在于,所述装置涉及用户端、优化端、执行端和数据库,所述装置包括:
第三发送模块,用于所述执行端接收所述优化端发送的所述查询计划,所述优化端用于向所述执行端发送所述查询计划;
第一确定模块,用于所述执行端依据所述查询计划确定目标访问约束;
第二确定模块,用于所述执行端依据所述目标访问约束在所述数据表确定第二目标数据;
第三生成模块,用于所述执行端依据所述第二目标数据生成查询结果;
第四发送模块,用于所述执行端将所述查询结果发送至所述用户端,所述用户端用于接收所述执行端反馈的所述查询结果。
10.一种基于预计算场景的查询处理装置,其特征在于,所述装置涉及用户端、优化端、执行端和数据库,所述装置包括:
第五发送模块,用于所述用户端依据用户需求生成查询请求,并将所述查询请求发送至所述优化端,所述优化端用于接收所述用户端发送的所述查询请求;
返回模块,用于所述用户端接收所述执行端发送的所述查询结果,并将所述查询结果返回至对应的目标用户,所述执行端用于将所述查询结果反馈至所述用户端。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310188956.8A CN115964374B (zh) | 2023-02-22 | 2023-02-22 | 一种基于预计算场景的查询处理方法及其装置 |
PCT/CN2023/081692 WO2024174305A1 (zh) | 2023-02-22 | 2023-03-15 | 一种基于预计算场景的查询处理方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310188956.8A CN115964374B (zh) | 2023-02-22 | 2023-02-22 | 一种基于预计算场景的查询处理方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115964374A true CN115964374A (zh) | 2023-04-14 |
CN115964374B CN115964374B (zh) | 2023-09-26 |
Family
ID=87361705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310188956.8A Active CN115964374B (zh) | 2023-02-22 | 2023-02-22 | 一种基于预计算场景的查询处理方法及其装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115964374B (zh) |
WO (1) | WO2024174305A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116821174A (zh) * | 2023-07-17 | 2023-09-29 | 深圳计算科学研究院 | 一种基于逻辑数据块的数据查询方法及其装置 |
CN117290383A (zh) * | 2023-10-16 | 2023-12-26 | 深圳计算科学研究院 | 一种基于多表连接的查询处理方法及其装置 |
CN117688032A (zh) * | 2023-12-13 | 2024-03-12 | 北京镜舟科技有限公司 | 基于物化视图的查询加速方法、装置、电子设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105279286A (zh) * | 2015-11-27 | 2016-01-27 | 陕西艾特信息化工程咨询有限责任公司 | 一种交互式大数据分析查询处理方法 |
WO2018177060A1 (zh) * | 2017-03-31 | 2018-10-04 | 华为技术有限公司 | 查询优化方法及相关装置 |
US20210240710A1 (en) * | 2020-01-31 | 2021-08-05 | Salesforce.Com, Inc. | Query plan overrides |
CN113704296A (zh) * | 2021-08-03 | 2021-11-26 | 浪潮云信息技术股份公司 | 一种基于Spark SQL的计算下推查询优化方法 |
CN115292350A (zh) * | 2022-08-02 | 2022-11-04 | 北京奥星贝斯科技有限公司 | Sql语句的处理方法及装置 |
CN115658732A (zh) * | 2022-10-26 | 2023-01-31 | 北京奥星贝斯科技有限公司 | 一种sql语句的优化查询方法、装置、电子设备及介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102138627B1 (ko) * | 2015-11-30 | 2020-07-28 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 데이터 쿼리 방법 및 장치, 및 데이터베이스 시스템 |
US20170277750A1 (en) * | 2016-03-28 | 2017-09-28 | Futurewei Technologies, Inc. | Querying big data by accessing small data |
US11886431B2 (en) * | 2018-05-22 | 2024-01-30 | Hyland Uk Operations Limited | Real-time analytical queries of a document store |
CN111597209B (zh) * | 2020-04-30 | 2023-11-14 | 清华大学 | 一种数据库物化视图构建系统、方法以及系统创建方法 |
CN114756581A (zh) * | 2022-04-22 | 2022-07-15 | 上海交通大学 | 模板化数据库查询计划的等价性验证方法及系统 |
-
2023
- 2023-02-22 CN CN202310188956.8A patent/CN115964374B/zh active Active
- 2023-03-15 WO PCT/CN2023/081692 patent/WO2024174305A1/zh unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105279286A (zh) * | 2015-11-27 | 2016-01-27 | 陕西艾特信息化工程咨询有限责任公司 | 一种交互式大数据分析查询处理方法 |
WO2018177060A1 (zh) * | 2017-03-31 | 2018-10-04 | 华为技术有限公司 | 查询优化方法及相关装置 |
US20210240710A1 (en) * | 2020-01-31 | 2021-08-05 | Salesforce.Com, Inc. | Query plan overrides |
CN113704296A (zh) * | 2021-08-03 | 2021-11-26 | 浪潮云信息技术股份公司 | 一种基于Spark SQL的计算下推查询优化方法 |
CN115292350A (zh) * | 2022-08-02 | 2022-11-04 | 北京奥星贝斯科技有限公司 | Sql语句的处理方法及装置 |
CN115658732A (zh) * | 2022-10-26 | 2023-01-31 | 北京奥星贝斯科技有限公司 | 一种sql语句的优化查询方法、装置、电子设备及介质 |
Non-Patent Citations (1)
Title |
---|
吴栋淦;: "逻辑访问计划的优化策略分析", 信息通信, no. 02, pages 115 - 116 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116821174A (zh) * | 2023-07-17 | 2023-09-29 | 深圳计算科学研究院 | 一种基于逻辑数据块的数据查询方法及其装置 |
CN117290383A (zh) * | 2023-10-16 | 2023-12-26 | 深圳计算科学研究院 | 一种基于多表连接的查询处理方法及其装置 |
CN117688032A (zh) * | 2023-12-13 | 2024-03-12 | 北京镜舟科技有限公司 | 基于物化视图的查询加速方法、装置、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115964374B (zh) | 2023-09-26 |
WO2024174305A1 (zh) | 2024-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115964374B (zh) | 一种基于预计算场景的查询处理方法及其装置 | |
US8396852B2 (en) | Evaluating execution plan changes after a wakeup threshold time | |
US20170083573A1 (en) | Multi-query optimization | |
CN112269792B (zh) | 数据查询方法、装置、设备及计算机可读存储介质 | |
US10146837B1 (en) | RLE-aware optimization of SQL queries | |
US8290936B2 (en) | Executing a query plan with display of intermediate results | |
US9218394B2 (en) | Reading rows from memory prior to reading rows from secondary storage | |
US10650559B2 (en) | Methods and systems for simplified graphical depictions of bipartite graphs | |
US20160283610A1 (en) | Hybrid flows containing a continous flow | |
CN103440288A (zh) | 一种大数据存储方法及装置 | |
CN111061758B (zh) | 数据存储方法、装置及存储介质 | |
CN109241100B (zh) | 一种查询方法、装置、设备及存储介质 | |
CN115905630A (zh) | 一种图数据库查询方法、装置、设备及存储介质 | |
CN108334532B (zh) | 一种基于Spark的Eclat并行化方法、系统及装置 | |
CN110297858B (zh) | 执行计划的优化方法、装置、计算机设备和存储介质 | |
CN109542912B (zh) | 区间数据存储方法、装置、服务器及存储介质 | |
CN110321388B (zh) | 一种基于Greenplum的快速排序查询方法及系统 | |
CN114547086B (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN114328606B (zh) | Sql执行效率的提高方法、设备及存储介质 | |
CN114969165B (zh) | 数据查询请求的处理方法、装置、设备及存储介质 | |
US20170031982A1 (en) | Maintaining Performance in the Presence of Insertions, Deletions, and Streaming Queries | |
US20170031909A1 (en) | Locality-sensitive hashing for algebraic expressions | |
CN111325008A (zh) | 一种基于分布式的公式计算方法 | |
CN111159218B (zh) | 数据处理方法、装置及可读存储介质 | |
US20170031985A1 (en) | Structural equivalence |
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 |