System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据处理领域,尤其涉及一种分页查询的处理方法、装置、服务器、介质及产品。
技术介绍
1、在web应用中,分页查询是数据展示的一种常见方式,特别是在处理大量数据时。分页查询往往涉及到一个关键步骤:获取分页查询请求的查询数据总数量,以便进行分页显示。
2、目前,在现有技术中,在接收到分页查询请求时,通常通过执行查询语句对数据库进行全表扫描,以获取查询数据总数量。
3、然而,现有技术这种方法在多次接收到相同的分页查询请求时,均需要重新获取查询数据总数量,导致频繁对数据库进行全表扫描,降低响应速度,增加数据库负担。
技术实现思路
1、本申请提供一种分页查询的处理方法、装置、服务器、介质及产品,用以解决现有技术中频繁对数据库进行全表扫描,降低响应速度,增加数据库负担的问题。
2、第一方面,本申请提供一种分页查询的处理方法,包括:通过面向切面编程工具,拦截分页查询请求;其中分页查询请求中包括查询参数、类名、方法名和查询语句;判断查询参数中是否包含查询数据总数量参数;若判定查询参数中不包含查询数据总数量参数,则根据查询参数生成唯一标识;根据类名、方法名和唯一标识,得到快查询缓存条件,并判断缓存中是否存在快查询缓存条件;若判定缓存中不存在快查询缓存条件,则根据类名、方法名和唯一标识,得到慢查询缓存条件,并判断缓存中是否存在慢查询缓存条件;若判定缓存中不存在慢查询缓存条件,则执行查询语句,得到查询时间和查询数据总数量;根据查询时间,获取分页查询请求的查询
3、在一种可能的设计中,根据查询参数生成唯一标识,包括:对查询参数进行排序,并将排序后的查询参数,组装成预设格式的字符串;对预设格式的字符串进行哈希处理,生成唯一标识。
4、在一种可能的设计中,根据查询时间,获取分页查询请求的查询类型,包括:若查询时间小于快查询时间阈值,则分页查询请求的查询类型为快查询;若查询时间大于慢查询时间阈值,则分页查询请求的查询类型为慢查询;其中慢查询时间阈值大于快查询时间阈值。
5、在一种可能的设计中,根据类名、方法名和唯一标识,得到快查询缓存条件,包括:将类名、方法名和唯一标识,通过连接符进行连接,得到初始快查询缓存条件;对初始快查询缓存条件添加第一标识,并通过连接符连接第一标识和初始快查询缓存条件,得到快查询缓存条件。
6、在一种可能的设计中,根据类名、方法名和唯一标识,得到慢查询缓存条件,包括:将类名、方法名和唯一标识,通过连接符进行连接,得到初始慢查询缓存条件;对初始慢查询缓存条件添加第二标识,并通过连接符连接第二标识和初始慢查询缓存条件,得到慢查询缓存条件。
7、在一种可能的设计中,判断缓存中是否存在快查询缓存条件之后,还包括:若判定缓存中存在快查询缓存条件,则执行查询语句,得到分页查询请求的查询数据总数量。
8、在一种可能的设计中,判断缓存中是否存在慢查询缓存条件,之后还包括:若判定缓存中存在慢查询缓存条件,则从缓存中获取分页查询请求的查询数据总数量。
9、第二方面,本申请提供一种分页查询的处理装置,包括:
10、拦截模块,用于通过面向切面编程工具,拦截分页查询请求;其中分页查询请求中包括查询参数、类名、方法名和查询语句。
11、第一判断模块,用于判断查询参数中是否包含查询数据总数量参数。
12、生成模块,用于若判定查询参数中不包含查询数据总数量参数,则根据查询参数生成唯一标识。
13、第一获取模块,用于根据类名、方法名和唯一标识,得到快查询缓存条件,并判断缓存中是否存在快查询缓存条件。
14、第二判断模块,用于若判定缓存中不存在快查询缓存条件,则根据类名、方法名和唯一标识,得到慢查询缓存条件,并判断缓存中是否存在慢查询缓存条件。
15、第二获取模块,用于若判定缓存中不存在慢查询缓存条件,则执行查询语句,得到查询时间和查询数据总数量。
16、第三获取模块,用于根据查询时间,获取分页查询请求的查询类型。
17、保存模块,用于将查询类型对应的缓存条件和查询数据总数量保存至缓存中,设置查询数据总数量的过期时间;其中缓存用于,在获取相同分页查询请求时,根据过期时间从缓存中获取查询数据总数量。
18、输出模块,用于输出分页查询请求的查询数据总数量。
19、第三方面,本申请实施例提供一种服务器,包括:至少一个处理器和存储器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的分页查询的处理方法。
20、第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的分页查询的处理方法。
21、第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上第一方面以及第一方面各种可能的设计所述的分页查询的处理方法。
22、本申请提供的分页查询的处理方法、装置、服务器、介质及产品,在接收到分页查询请求时,若查询参数中不包含查询数据总数量参数,则判断缓存中是否存在快查询缓存条件或慢查询缓存条件,若均不存在时,再通过查询语句获取查询数据总数量。根据查询时间获取分页查询请求的查询类型,并将查询类型对应的缓存条件和查询数据总数量保存至缓存中,并设置查询数据总数量的过期时间。在接收到相同分页查询请求时,根据过期时间从缓存中获取查询数据总数量,避免频繁对数据库进行全表扫描,从而提高响应速度,减轻数据库负担。此外,通过面向切面编程工具,简化了对分页查询请求的开发与维护。因此,能够解决现有技术中频繁对数据库进行全表扫描,降低响应速度,增加数据库负担的问题。
本文档来自技高网...【技术保护点】
1.一种分页查询的处理方法,其特征在于,应用于服务器,包括:
2.根据权利要求1所述的方法,其特征在于,所述根据查询参数生成唯一标识,包括:
3.根据权利要求1所述的方法,其特征在于,所述根据所述查询时间,获取所述分页查询请求的查询类型,包括:
4.根据权利要求1所述的方法,其特征在于,所述根据所述类名、所述方法名和所述唯一标识,得到快查询缓存条件,包括:
5.根据权利要求1所述的方法,其特征在于,所述根据所述类名、所述方法名和所述唯一标识,得到慢查询缓存条件,包括:
6.根据权利要求1-5任一项所述的方法,其特征在于,所述判断缓存中是否存在快查询缓存条件之后,还包括:
7.根据权利要求1-5任一项所述的方法,其特征在于,所述判断所述缓存中是否存在慢查询缓存条件,之后还包括:
8.一种分页查询的处理装置,其特征在于,应用于服务器,包括:
9.一种服务器,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储
11.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1-7中任一项所述的方法。
...【技术特征摘要】
1.一种分页查询的处理方法,其特征在于,应用于服务器,包括:
2.根据权利要求1所述的方法,其特征在于,所述根据查询参数生成唯一标识,包括:
3.根据权利要求1所述的方法,其特征在于,所述根据所述查询时间,获取所述分页查询请求的查询类型,包括:
4.根据权利要求1所述的方法,其特征在于,所述根据所述类名、所述方法名和所述唯一标识,得到快查询缓存条件,包括:
5.根据权利要求1所述的方法,其特征在于,所述根据所述类名、所述方法名和所述唯一标识,得到慢查询缓存条件,包括:
6.根据权利要求1-5任一项所述的方法,其特征在于,所述判断缓存中是否存在快查询缓...
【专利技术属性】
技术研发人员:黄浩东,
申请(专利权)人:中国建设银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。