CN112612827B - 数据库分页查询方法、装置、计算机设备及存储介质 - Google Patents
数据库分页查询方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112612827B CN112612827B CN202011560377.4A CN202011560377A CN112612827B CN 112612827 B CN112612827 B CN 112612827B CN 202011560377 A CN202011560377 A CN 202011560377A CN 112612827 B CN112612827 B CN 112612827B
- Authority
- CN
- China
- Prior art keywords
- data
- statistical
- time
- query
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000012545 processing Methods 0.000 claims abstract description 44
- 238000004590 computer program Methods 0.000 claims description 15
- 230000001360 synchronised effect Effects 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 8
- 230000004931 aggregating effect Effects 0.000 claims description 3
- 238000004321 preservation Methods 0.000 claims description 3
- 238000000926 separation method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000013215 result calculation Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- 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/2455—Query execution
- G06F16/24553—Query execution of query operations
-
- 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/248—Presentation of query results
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Fuzzy Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于数据库数据处理领域,涉及一种数据库分页查询方法,包括:实时获取数据库中的原表数据;统计原表数据,得到统计结果;将统计结果归档至日志表中,得到归档后的日志表;获取用户的分页查询请求,用户的分页查询请求包括目标列名以及偏移量M;若归档后的日志表中存在目标列名,则根据用户的分页查询请求以及归档后的日志表更改偏移量M,得到目标查询语句;根据目标查询语句查询原表数据,得到查询结果;将查询结果发送至用户。本申请还提供一种数据库分页查询装置、计算机设备及存储介质。提高了数据库分页查询的效率。
Description
技术领域
本发明涉及数据库数据处理领域,尤其涉及一种数据库分页查询方法、装置、计算机设备及存储介质。
背景技术
分页查询是一种常见的数据查询方法,客户端通过传递页码、每页条数两个参数去分页查询数据库中的数据。随着查询的页码越来越大,越往后分页,查询耗时也越来越长,原因是Mysql在处理查询语句select*from table where condition limit M,N返回N条记录时需要查询M+N条记录,越往后走M越大,耗时也越长。现有的做法是每次查询时返回这页最后一条记录的主键id,查询下一页时根据这个id从后找出满足条件的N条记录,避免了扫描前M条记录的耗时。这种方法的本质是将M限制在一个较小的范围内,在查询下一页这种连续查询或跳页幅度较小时有较好的性能,但跳转的页数很大时(比如从第1页跳到第1000页),耗时较大问题依旧没有解决。
发明内容
本发明实施例提供了一种数据库分页查询方法、装置、计算机设备及存储介质,旨在解决现有技术方法中所存在的分页查询耗时较大的问题。
第一方面,本发明实施例提供了一种数据库分页查询方法,其包括:
实时获取数据库中的原表数据;
统计所述原表数据,得到统计结果;
将所述统计结果归档至日志表中,得到归档后的日志表;
获取用户的分页查询请求,所述用户的分页查询请求包括目标列名以及偏移量M;
若所述归档后的日志表中存在所述目标列名,则根据所述用户的分页查询请求以及所述归档后的日志表调整所述偏移量M,根据新的偏移量m得到目标查询语句;
根据所述目标查询语句查询所述原表数据,得到查询结果;
将所述查询结果发送至所述用户。
第二方面,本发明实施例提供了一种数据库分页查询装置,其包括:
原表数据获取单元,用于实时获取数据库中的原表数据;
原表数据统计单元,用于统计所述原表数据,得到统计结果;
统计结果归档单元,用于将所述统计结果归档至日志表中,得到归档后的日志表;
查询请求获取单元,用于获取用户的分页查询请求,所述用户的分页查询请求包括目标列名以及偏移量M;
查询语句更改单元,用于若所述归档后的日志表中存在所述目标列名,则根据所述用户的分页查询请求以及所述归档后的日志表调整所述偏移量M,根据新的偏移量m得到目标查询语句;
查询结果获取单元,用于根据所述目标查询语句查询所述原表数据,得到查询结果;
查询结果发送单元,用于将所述查询结果发送至所述用户。
第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的数据库分页查询方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的数据库分页查询方法。
本发明实施例提供了一种数据库分页查询方法、装置、计算机设备及存储介质。首先对数据库中的原表数据进行统计归档,数据归档完成后,归档后的日志表存储了统计结果。当用户分页查询时,根据查询条件以及归档后的日志表重新调整数据库查询语句中的偏移量M,从而调整了偏移量M,以减小M值,由于M值直接影响需要扫描的数据量,因此通过实施本发明技术方案可减少数据库扫描的数据量,提高查询效率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1-1为本发明实施例提供的数据库分页查询方法的流程示意图;
图1-2为本发明实施例提供的数据库分页查询方法的子流程示意图;
图1-3为本发明实施例提供的数据库分页查询方法的另一子流程示意图;
图1-4为本发明实施例提供的数据库分页查询方法的线程处理流程图;
图1-5为本发明实施例提供的数据库分页查询方法的另一子流程示意图;
图1-6为本发明实施例提供的数据库分页查询方法的另一子流程示意图;
图1-7为本发明实施例提供的数据库分页查询方法的数据库查询语句修改流程图;
图1-8为本发明实施例提供的数据库分页查询方法的另一子流程示意图;
图2为本发明实施例提供的数据库分页查询装置的示意性框图;
图3为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1-1,图1-1是本发明实施例提供的数据库分页查询方法的流程示意图,该数据库分页查询方法应用于服务器中,该方法通过服务器的执行程序执行,服务器即是用于执行数据库分页查询方法的终端设备,服务器可以是提供各种服务的服务器。需要说明的是,本发明实施例所提供的数据库分页查询方法一般由服务器执行,相应地,数据库分页查询装置一般配置于服务器中。如图1-1所示,该方法包括步骤101~107。
101、实时获取数据库中的原表数据。
本实施例中,在获取用户的分页查询请求之前,需先获取数据库中的原表数据,以对原表数据进行预处理。具体地,可通过预设的查询语句来获取数据库中的原表数据。其中,原表数据分为历史数据和实时数据两部分。历史数据主要指通过快照读对原表进行处理而产生的数据。实时数据是指对数据进行增删改而产生的新的数据。原表数据包括多个记录的数据、每个数据之间的分隔符以及对应的时间戳列。记录的数据可以是任意数据。
一些实施方式中,流程图如图1-2所示,所述实时获取数据库中的原表数据,包括:
101-1、将数据库的记录模式设置为行记录模式;
开启数据库的binlog并设置binlog_format=ROW,(数据库中日志的记录格式为行记录模式,记录数据被修改后的最终结果)以便记录每一行数据修改的细节,比如UPDATE操作会把该行修改前及修改后所有列的值都保存在日志中。
101-2、将数据库的引擎设置为InnoDB;
本实施例中,InnoDB为一种存储引擎,提供了多版本并发控制功能,由于原表数据统计需要使用到MVCC(多版本并发控制)功能,因此采用InnoDB作为数据库的引擎。通过上述两步完成了数据保存环境的初始化,保证数据获取可以正常进行,得到符合规则的数据。
101-3、获取数据之间的分隔符;
本实施例中,确定记录的数据之间的分隔符,以分隔每个数据,防止数据混合,将记录的数据一一提取出来。
101-4、根据所述数据之间的分隔符分隔数据,得到多个目标数据;
101-5、将所述多个目标数据以及所述目标数据的分隔符保存至同步日志表中;
本实施例中,同步日志表用于存储历史数据,二进制表用于存储实时数据。当历史线程启动时将自动读取同步日志表的内容。通过在同步日志表(sync_log)中新增至少一条记录,实现保存每个对应的目标数据以及分隔符。例如以数据“a;b;c”为例,此时分隔符为“;”,则提取出目标数据“a”,分隔符“;”,目标数据“b”,分隔符“;”以及目标数据“c”。其中同步日志表用于存储历史数据。
101-6、获取所述多个目标数据的保存时间,得到时间戳列;
本实施例中,需要获取目标数据保存到同步日志表的保存时间,也即保存同步日志表中新增记录的创建时间,方便后续进行数据的统计。在同步日志表中设有一个timestamp类型(程序中的数据类型)的列(如时间戳列),通过该列记录行的入库时间,以方便后续对新增记录,也即表中的数据进行统计。
101-7、将所述时间戳列保存至所述同步日志表中;
101-8、当所有所述目标数据完成保存后,得到所述历史数据;
101-9、获取二进制日志,以得到所述实时数据。
本实施例中,由于原表数据存在历史数据和实时数据两部分,实时数据这部分通过二进制日志进行保存,因此通过获取二进制日志来得到实时数据。其中,二进制日志(binary log)是一个二进制文件,主要用于记录修改数据或有可能引起数据变更的MySQL语句。二进制日志(binary log)中记录了对MySQL数据库执行更改的所有操作,并且记录了语句发生时间、执行时长、操作数据等其它额外信息,但是它不记录SELECT、SHOW等那些不修改数据的SQL语句。
一些实施方式中,流程图如图1-3所示,所述实时获取数据库中的原表数据之后,所述方法还包括:
111、创建至少两个线程,所述至少两个线程至少包括历史处理线程以及实时处理线程;
112、将所述历史处理线程的事务级别设置为重复可读;
本实施例中,事务级别为数据库的基础特性,当将事务级别设置为重复可读后,当前事务无法查看其它事务对原表数据的历史记录更改,保证查询数据的正确性。
113、对所述原表数据进行锁表操作;
本实施例中,需对原表数据进行锁表操作,也即对原表数据进行读锁定。经过读锁定之后,在对原表进行操作时,读操作可正常进行而写操作将受到限制。因此此时原表数据只能被读取,而无法被修改,也即保证了在解锁该原表数据之前,原表的历史数据不会因此产生增删改事件。
114、将所述历史处理线程开启快照读模式;
本实施例中,创建了历史线程之后还需开启历史线程的快照读模式以确保所读取数据的一致性。快照读模式是指MySQL使用多版本并发控制(Multiversion ConcurrencyControl,MVCC)机制来保证被读取到数据的一致性,读取数据时不需要加锁数据,且快照读不会被其它事务阻塞。
115、获取所述二进制日志中的标签记录以确定所述实时处理线程所需处理的实时数据的起点。
上述实施方式中,先往同步日志表新增一条标签记录,若数据库中存入新的数据,此时将产生一条包含该标签的日志,实时处理部分定位到历史数据处理的日志,则表明标签记录的位置是实时处理数据部分的起点,从而避免统计错误。新增标签记录后立即解锁原表。所述标签记录用于定位标记实时线程处理数据的起始位置。例如,在表中插入一个flag='AAAA'的内容,二进制日志解析到该字符串AAAA时就是实时解析起始地址。实时线程开始处理数据之前,提前创建实时线程,设置实时线程处理以所述标签记录的地方作为起点的数据。标签记录用于定位历史数据结束的地方,也即作为实时数据线程开始处理数据的起点以及历史数据线程处理数据的终点。通过上述方式,实现定位到实时数据进入原表数据后,定位实时数据在原表数据中的初始位置,即实时线程开始处理数据的起始位置,从而实现实时处理数据。
102、统计所述原表数据,得到统计结果。
本实施例中,由于数据库的数据实时更新,数据分为历史数据和实时数据两部分,因此在实现数据的统计时需要由两个线程分别进行处理,其中一个线程用于对历史数据进行处理,另一个线程用于处理历史数据完成处理后数据库所更新的新数据。具体地,可通过历史线程先对历史数据进行处理,再启动实时线程对实时数据进行处理,以对原表中的数据进行统计,得到统计结果。两个线程处理如图1-4所示。
一些实施方式中,流程图如图1-5所示,所述统计所述原表数据,得到统计结果,包括:
102-1、通过所述历史处理线程聚合所述原表数据,以处理所述同步日志表得到第一查询结果;
本实施例中,通过所述历史处理线程聚合所述原表数据中的历史数据,也即通过历史线程对同步日志表进行处理。其中,本实施例的聚合操作是指对所述原表数据按照统计区间进行分组,聚合操作可以通过数据库语句groupby进行。通过历史处理线程对历史数据进行统计,得到了历史统计结果,并将历史统计结果存到表中,此时这个表即为第一查询结果。具体地,第一查询结果至少包括历史数据入库的统计区间以及行号ID。数据入库的统计区间qdate可通过时间戳列计算得到。
102-2、通过所述实时处理线程解析所述二进制日志,得到第二查询结果;
本实施例中,实时数据这部分通过二进制日志进行保存并由实时处理线程进行处理。实时处理线程所需处理的实时数据的起点由标签记录进行确定。其中,解析的过程可以理解为二进制日志(binary log)中记录了对MySQL数据库执行更改的所有操作以及获取了多个目标数据的保存时间,得到时间戳列,则根据将时间戳列除以(24*3600)得到统计区间qdate,统计区间qdate包括数据入库的统计区间,通过将时间入库时间(时间戳列)除以统计时长得到。如果二进制日中记录的操作是INSERT(新增事件),则将对应的行号值加1,行的唯一性由建表时的唯一索引(cola,colb,qdate)决定,如果二进制日中记录的操作是数据库删除事件则将行号值减1,如果二进制日中记录的操作是数据库事件更新操作将原行号值减1,新行加1。通过以上方式得到的第二查询结果为实时数据入库的统计区间以及对应的行号ID。
102-3、将所述第一查询结果以及第二查询结果作为统计结果;
本实施例中,通过以上方式获得了第一查询结果和第二查询结果,这两部分数据为最终所需的统计结果。其中第一查询结果包括历史数据的统计区间以及历史数据的行号ID,第二查询结果包括实时数据的统计区间以及实时数据的行号ID,因此,对所述原表数据进行统计而最终得到的统计结果包括历史数据的统计区间、历史数据的行号ID、实时数据的统计区间以及实时数据的行号ID。历史数据的统计区间用于记录历史数据的入库时间,历史数据的行号用于记录历史数据的实际位置。实时数据的统计区间用于记录实时数据的入库时间,实时数据的行号用于记录实时数据的实际位置。
103、将所述统计结果归档至日志表中,得到归档后的日志表。
本实施例中,将统计结果写入对应的原表数据中,得到归档后的日志表。将统计结果与对应的原表数据的表名做一个映射关系,得到一一对应的关系,并保存,即每个归档后的日志表=原表数据+对应的统计结果。
104、获取用户的分页查询请求,所述用户的分页查询请求包括目标列名以及偏移量M。
本实施例中,用户的分页查询请求为用户输入的数据库查询语句,即为用户输入的数据库的查询操作。所述目标列名可以理解为所述用户查询的表名。偏移量M为用户所要跳转的页数,例如用户在数据库的第1页,此时要跳转到数据库的第1000页,则此时偏移量M=1000-1=999。
105、若所述归档后的日志表中存在所述目标列名,则根据所述用户的分页查询请求以及所述归档后的日志表调整所述偏移量M,根据新的偏移量m得到目标查询语句。
本实施例中,若所述归档后的日志表中存在所述目标列名,则进入后续步骤,通过目标查询语句替换掉用户的分页查询请求,以形成新的用户的分页查询请求。否则将用户输入的分页查询请求作为目标查询语句。
一些实施方式中,流程图如图1-6所示,若所述归档后的日志表中存在所述目标列名,则根据所述用户的分页查询请求以及所述归档后的日志表更改所述偏移量M,根据新的偏移量m得到目标查询语句,包括:
105-1、获取所述用户的分页查询请求中的所述目标列名,根据所述目标列名搜索所述归档后的日志表;
本实施例中,统计结果与对应的表名存在一个映射关系,每个归档后的日志表=原表数据+对应的统计结果,将统计结果放在一个列中,通过目标列名可以判断是否存在对应归档后的日志表。
105-2、当搜索到所述归档后的日志表存在所述目标列名后,根据所述归档后的日志表获取对应的所述统计结果
本实施例中,通过以上步骤得到每个数据的统计结果,即历史数据的统计区间和对应的行号ID,以及实时数据的统计区间和对应的行号ID。
105-3、获取预设的统计时长;
本实施例中,所述预设的统计时长为统计时间间隔,用于计算用户请求的统计起始区间以及用户请求的统计结束区间。
105-4、获取所述用户的分页查询请求中的查询开始时刻以及查询结束时刻;
本实施例中,假如用户的分页查询请求如下:
select*from table
where colA=10and colB=‘A’and createtime>strBeginTm and createtime<=strEndTm
其中,strBeginTm为开始时刻,strEndTm为结束时刻。具体可以理解为查询表中属性“colA”=10,colB=‘A’,时间戳列在开始时刻以及结束时刻之间的所有数据。
105-5、根据所述查询开始时刻、所述查询结束时刻以及所述统计时长,计算统计起始区间以及统计结束区间;
本实施例中,确定用户请求的统计起始区间p1、用户请求的统计结束区间p2,p1=查询开始时刻/统计时长,p2=查询结束时刻/统计时长。
105-6、根据所述统计起始区间以及所述查询开始时刻计算起始区间有效数据量;
本实施例中,具体通过数据库语句计算统计在目标日志表中满足查询条件,并且时间戳列在查询开始时刻以及查询结束时刻数据量大小,其中数据量大小即为有效数据量。
105-7、根据所述起始区间有效数据量、所述统计起始区间以及所述统计结束区间计算所述偏移量M;
105-8、根据所述起始区间有效数据量、所述统计起始区间以及所述统计结束区间调整所述偏移量M,得到新的偏移量m;
105-9、根据所述新的偏移量m更改所述用户的分页查询请求,得到目标查询语句。
本实施例中,通过计算新的偏移量替代掉原来的用户用户查询请求对应的偏移量,以及重新计算目标查询语句中的起始时刻,得到目标查询语句,从而实现通过新的偏移量更改请求。
本实施例中,确定新的起始位置,更改查询语句中的查询开始时刻begintime及偏移量offset从结果统计表中查询qdate(统计区间)在p1和p2之间的记录,根据统计区间计算数据的统计时间值,记录中包含列qdate及num(有效数据量),形成满足条件的结果集。通过目标查询语句替换了用户分页查询请求,减小了偏移量(offset)的值,从而减少了数据库的扫描,提高了查询效率。具体计算图1-7所示。例如统计结果如表1所示:
id | cola | colb | num | qdate |
1 | 10 | A | 50 | 18367 |
2 | 10 | A | 60 | 18368 |
3 | 11 | B | 70 | 18369 |
表1
从第i=0条记录r开始,重新确定偏移量(offset)和开始时间。如果r是最后一条记录,那么offset=offset–总数,begintime=统计起始区间*24*3600(24*3600为统计时长,此例子统计时长为1天),否则,判断总数+有效数据量是否大于offset,即判断10+20是否大于100,若不大于则总数=总数+有效数据量=10+20=30,起始统计区间=18265,i++,继续对下一条记录进行比较,在以上实施例中,当执行到id=4这条记录时,总数+有效数据量=120>100已经满足条件,此时p1=18267+1,新的偏移量=100-70=30。那么新的偏移量及开始时间为offset=30,begintime=18268*24*3600通过新的offset生成目标查询语句。
一些实施方式中,流程图如图1-8所示,所述根据所述查询开始时刻、所述查询结束时刻以及所述统计时长,计算统计起始区间以及统计结束区间,包括:
105-61、将所述查询开始时刻以及所述查询结束时刻分别转化为开始时长参数以及结束时长参数;
105-62、通过第一预设公式计算得到所述统计起始区间,所述第一预设公式为:所述统计起始区间=所述开始时长参数/所述统计时长;
105-63、通过第二预设公式计算得到所述统计结束区间,所述第二预设公式为:所述统计结束区间=所述结束时长参数/所述统计时长。
上述实施方式中,确定统计起始区间p1、统计结束区间p2,由于查询开始时刻以及查询结束时刻保存至时间戳列,而时间戳列的数据类型为timestamp类型,timestamp类型的数据可以转化成可运算的时长,得到开始时长参数以及结束时长参数,再通过p1=开始时长参数/统计时长得到第统计起始区间,p2=结束时长参数/统计时长得到统计结束区间。例如p1=unix_timestamp('2020-01-01 12:00:00')/(24*3600)=1577851200/(24*3600)=18262。
106、根据所述目标查询语句查询所述原表数据,得到查询结果。
本实施例中,通过更改后的数据库查询语句,查询原表的数据。
107、将所述查询结果发送至所述用户。
本实施例中,查询结果为获取到用户的分页查询请求对应的搜索结果。
本发明实施例提供了一种数据库分页查询方法、装置、计算机设备及存储介质。首先对数据库中的原表数据进行统计归档,数据归档完成后,归档后的日志表存储了统计结果。当用户分页查询时,根据查询条件以及归档后的日志表重新调整数据库查询语句中的偏移量M,从而调整了偏移量M,进而调整查询的M+N的值,由于M+N的值代表数要扫描的数据量,因此减少了数据库扫描的数据量,提高查询效率。
本发明中的技术方法可应用于智慧政务/智慧城管/智慧社区/智慧安防/智慧物流/智慧医疗/智慧教育/智慧环保/智慧交通等包含进行数据库分页查询的应用场景中,从而推动智慧城市的建设。
在本发明实施例所提供的数据库分页查询方法中,首先对数据库中的原表数据进行统计归档,数据归档完成后,归档后的日志表存储了统计结果。当用户分页查询时,根据查询条件以及归档后的日志表重新调整数据库查询语句中的偏移量M,从而调整了偏移量M,进而调整查询的M+N的值,由于M+N的值代表数要扫描的数据量,因此减少了数据库扫描的数据量,提高查询效率。
本发明实施例还提供一种数据库分页查询装置,该数据库分页查询装置用于执行前述数据库分页查询方法的任一实施例。具体地,请参阅图2,图2是本发明实施例提供的数据库分页查询装置的示意性框图。该数据库分页查询装置可配置于用户终端中。
如图2所示,如图2所示,数据库分页查询装置200包括原表数据获取单元210、原表数据统计单元220、统计结果归档单元230、查询请求获取单元240、查询语句更改单元250、查询结果获取单元260以及查询结果发送单元270。
原表数据获取单元210,用于实时获取数据库中的原表数据;
原表数据统计单元220,用于统计所述原表数据,得到统计结果;
统计结果归档单元230,用于将所述统计结果归档至日志表中,得到归档后的日志表;
查询请求获取单元240,用于获取用户的分页查询请求,所述用户的分页查询请求包括目标列名以及偏移量M;
查询语句更改单元250,用于若所述归档后的日志表中存在所述目标列名,则根据所述用户的分页查询请求以及所述归档后的日志表调整所述偏移量M,根据新的偏移量m得到目标查询语句;
查询结果获取单元260,用于根据所述目标查询语句查询所述原表数据,得到查询结果;
查询结果发送单元270,用于将所述查询结果发送至所述用户。
在本实施例的一些可选的实现方式中,所述原表数据获取单元210包括记录模式设置子单元、引擎设置子单元、分隔符获取子单元、目标数据获取子单元、日志存储子单元、时间戳列获取子单元、同步子单元、保存子单元以及二进制日志获取子单元。
记录模式设置子单元用于将数据库的记录模式设置为行记录模式;
引擎设置子单元用于将数据库的引擎设置为InnoDB;
分隔符获取子单元用于获取数据之间的分隔符;
目标数据获取子单元用于根据所述数据之间的分隔符分隔数据,得到多个目标数据;
日志存储子单元用于将所述多个目标数据以及所述目标数据的分隔符保存至同步日志表中;
时间戳列获取子单元用于获取所述多个目标数据的保存时间,得到时间戳列;
同步子单元用于将所述时间戳列保存至所述同步日志表中;
保存子单元用于当所有所述目标数据完成保存后,得到所述历史数据;
二进制日志获取子单元用于获取二进制日志,以得到所述实时数据。
在本实施例的一些可选的实现方式中,上述装置200还包括:线程创建模块,所述线程创建模块包括:线程创建子单元、事务级别设置子单元、锁表子单元、模式设置子单元以及匹配子单元。
线程创建子单元用于创建至少两个线程,所述至少两个线程至少包括历史处理线程以及实时处理线程;
事务级别设置子单元用于将所述历史处理线程的事务级别设置为重复可读;
锁表子单元用于对所述原表数据进行锁表操作;
模式设置子单元用于将所述历史处理线程开启快照读模式;
匹配子单元用于获取所述二进制日志中的标签记录以确定所述实时处理线程所需处理的实时数据的起点。
在本实施例的一些可选的实现方式中,所述原表数据统计单元220包括第一查询结果计算子单元、第二查询结果计算子单元以及统计结果获取子单元。
第一查询结果计算子单元用于通过所述历史处理线程聚合所述原表数据,以处理所述同步日志表得到第一查询结果;
第二查询结果计算子单元用于通过所述实时处理线程根据所述标签记录解析所述二进制日志,得到第二查询结果;
统计结果获取子单元用于将所述第一查询结果以及第二查询结果作为统计结果。
在本实施例的一些可选的实现方式中,所述查询语句更改单元250包括搜索子单元、统计结果获取子单元、预设时长获取子单元、搜索时刻获取子单元、区间计算子单元、有效数据量计算子单元、偏移量计算子单元、偏移量调整子单元以及目标查询语句更改子单元。
搜索子单元用于获取所述用户的分页查询请求中的所述目标列名,根据所述目标列名搜索所述归档后的日志表;
统计结果获取子单元用于当搜索到存在所述归档后的日志表存在所述目标列名后,根据所述归档后的日志表获取对应的所述统计结果;
预设时长获取子单元用于获取预设的统计时长;
搜索时刻获取子单元用于获取所述用户的分页查询请求中的查询开始时刻以及查询结束时刻;
区间计算子单元用于根据所述查询开始时刻、所述查询结束时刻以及所述统计时长,计算统计起始区间以及统计结束区间;
有效数据量计算子单元用于根据所述统计起始区间以及所述查询开始时刻计算起始区间有效数据量;
偏移量计算子单元用于根据所述起始区间有效数据量、所述统计起始区间以及所述统计结束区间计算所述偏移量M;
偏移量调整子单元子单元用于根据所述起始区间有效数据量、所述统计起始区间以及所述统计结束区间调整所述偏移量M,得到新的偏移量m;
目标查询语句更改子单元用于根据所述新的偏移量m更改所述用户的分页查询请求,得到目标查询语句。
在本实施例的一些可选的实现方式中,所述区间计算子单元包括转换子单元、统计起始区间子单元以及统计结束区间子单元。
转换子单元用于将所述查询开始时刻以及所述查询结束时刻分别转化为开始时长参数以及结束时长参数;
统计起始区间子单元用于通过第一预设公式计算得到所述统计起始区间,所述第一预设公式为:所述统计起始区间=所述开始时长参数/所述统计时长;
统计结束区间子单元用于通过第二预设公式计算得到所述统计结束区间,所述第二预设公式为:所述统计结束区间=所述结束时长参数/所述统计时长。
在本实施例的一些可选的实现方式中,上述装置200还包括:日志新建单元,所述日志新建单元包括:用户查询请求统计子单元、同步日志表新建子单元以及原表数据保存子单元。
用户查询请求统计子单元用于根据多个所述用户的分页查询请求统计出多个用户的查询条件;
同步日志表新建子单元用于根据多个所述用户的查询条件新建同步日志表;
所述实时获取数据库中的原表数据,包括:
原表数据保存子单元用于根据所述同步日志表保存所述原表数据。
在本发明实施例所提供的数据库分页查询装置应用上述数据库分页查询方法,
首先对数据库中的原表数据进行统计归档,数据归档完成后,归档后的日志表存储了统计结果。当用户分页查询时,根据查询条件以及归档后的日志表重新调整数据库查询语句中的偏移量M,从而调整了偏移量M,进而调整查询的M+N的值,由于M+N的值代表数要扫描的数据量,因此减少了数据库扫描的数据量,提高查询效率。
上述数据库分页查询装置可以实现为计算机程序的形式,该计算机程序可以在如图3所示的计算机设备上运行。
请参阅图3,图3是本发明实施例提供的计算机设备的示意性框图。该计算机设备可以是用于执行数据库分页查询方法以进行数据库分页查询的用户终端。
参阅图3,该计算机设备300包括通过系统总线301连接的处理器302、存储器和网络接口305,其中,存储器可以包括非易失性存储介质303和内存储器304。
该非易失性存储介质303可存储操作系统3031和计算机程序3032。该计算机程序3032被执行时,可使得处理器302执行数据库分页查询方法。
该处理器302用于提供计算和控制能力,支撑整个计算机设备300的运行。
该内存储器304为非易失性存储介质303中的计算机程序3032的运行提供环境,该计算机程序3032被处理器302执行时,可使得处理器302执行数据库分页查询方法。
该网络接口305用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图3中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备300的限定,具体的计算机设备300可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器302用于运行存储在存储器中的计算机程序3032,以实现上述的数据库分页查询方法中对应的功能。
本领域技术人员可以理解,图3中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其它实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图3所示实施例一致,在此不再赘述。
应当理解,在本发明实施例中,处理器302可以是中央处理单元(CentralProcessing Unit,CPU),该处理器302还可以是其它通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现上述的数据库分页查询方法中所包含的步骤。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的计算机可读存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (8)
1.一种数据库分页查询方法,其特征在于,所述方法包括:
实时获取数据库中的原表数据;
统计所述原表数据,得到统计结果;
将所述统计结果归档至日志表中,得到归档后的日志表;
获取用户的分页查询请求,所述用户的分页查询请求包括目标列名以及偏移量M;
若所述归档后的日志表中存在所述目标列名,则根据所述用户的分页查询请求以及所述归档后的日志表调整所述偏移量M,根据新的偏移量m得到目标查询语句;
根据所述目标查询语句查询所述原表数据,得到查询结果;
将所述查询结果发送至所述用户;
所述若所述归档后的日志表中存在所述目标列名,则根据所述用户的分页查询请求以及所述归档后的日志表调整所述偏移量M,根据新的偏移量m得到目标查询语句,包括:
获取所述用户的分页查询请求中的所述目标列名,根据所述目标列名搜索所述归档后的日志表;
当搜索到所述归档后的日志表中存在所述目标列名时,则根据所述归档后的日志表获取对应的所述统计结果;
获取预设的统计时长;
获取所述用户的分页查询请求中的查询开始时刻以及查询结束时刻;
根据所述查询开始时刻、所述查询结束时刻以及所述统计时长,计算统计起始区间以及统计结束区间;
根据所述统计起始区间以及所述查询开始时刻计算起始区间有效数据量;
根据所述起始区间有效数据量、所述统计起始区间以及所述统计结束区间调整所述偏移量M,得到新的偏移量m;
根据所述新的偏移量m更改所述用户的分页查询请求,得到目标查询语句;
所述根据所述查询开始时刻、所述查询结束时刻以及所述统计时长,计算统计起始区间以及统计结束区间,包括:
将所述查询开始时刻以及所述查询结束时刻分别转化为开始时长参数以及结束时长参数;
通过第一预设公式计算得到所述统计起始区间,所述第一预设公式为:所述统计起始区间=所述开始时长参数/所述统计时长;
通过第二预设公式计算得到所述统计结束区间,所述第二预设公式为:所述统计结束区间=所述结束时长参数/所述统计时长。
2.根据权利要求1所述的数据库分页查询方法,其特征在于,所述原表数据包括历史数据和实时数据,所述实时获取数据库中的原表数据,包括:
将数据库的记录模式设置为行记录模式;
将数据库的引擎设置为InnoDB;
获取数据之间的分隔符;
根据所述数据之间的分隔符分隔数据,得到多个目标数据;
将所述多个目标数据以及所述目标数据的分隔符保存至同步日志表中;
获取所述多个目标数据的保存时间,得到时间戳列;
将所述时间戳列保存至所述同步日志表中;
当所有所述目标数据完成保存后,得到所述历史数据;
获取二进制日志,以得到所述实时数据。
3.根据权利要求2所述的数据库分页查询方法,其特征在于,所述实时获取数据库中的原表数据之后,所述方法还包括:
创建至少两个线程,所述至少两个线程至少包括用于处理所述历史数据的历史处理线程以及用于处理所述实时数据的实时处理线程;
将所述历史处理线程的事务级别设置为重复可读;
对所述原表数据进行锁表操作;
将所述历史处理线程开启快照读模式;
获取所述二进制日志中的标签记录以确定所述实时处理线程所需处理的实时数据的起点。
4.根据权利要求3所述的数据库分页查询方法,其特征在于,所述统计所述原表数据,得到统计结果,包括:
通过所述历史处理线程聚合所述原表数据,以处理所述同步日志表得到第一查询结果;
通过所述实时处理线程解析所述二进制日志,得到第二查询结果;
将所述第一查询结果以及第二查询结果作为统计结果。
5.一种数据库分页查询装置,其特征在于,包括:
原表数据获取单元,用于实时获取数据库中的原表数据;
原表数据统计单元,用于统计所述原表数据,得到统计结果;
统计结果归档单元,用于将所述统计结果归档至日志表中,得到归档后的日志表;
查询请求获取单元,用于获取用户的分页查询请求,所述用户的分页查询请求包括目标列名以及偏移量M;
查询语句更改单元,用于若所述归档后的日志表中存在所述目标列名,则根据所述用户的分页查询请求以及所述归档后的日志表调整所述偏移量M,根据新的偏移量m得到目标查询语句;
查询结果获取单元,用于根据所述目标查询语句查询所述原表数据,得到查询结果;
查询结果发送单元,用于将所述查询结果发送至所述用户;
所述若所述归档后的日志表中存在所述目标列名,则根据所述用户的分页查询请求以及所述归档后的日志表调整所述偏移量M,根据新的偏移量m得到目标查询语句,包括:
获取所述用户的分页查询请求中的所述目标列名,根据所述目标列名搜索所述归档后的日志表;
当搜索到所述归档后的日志表中存在所述目标列名时,则根据所述归档后的日志表获取对应的所述统计结果;
获取预设的统计时长;
获取所述用户的分页查询请求中的查询开始时刻以及查询结束时刻;
根据所述查询开始时刻、所述查询结束时刻以及所述统计时长,计算统计起始区间以及统计结束区间;
根据所述统计起始区间以及所述查询开始时刻计算起始区间有效数据量;
根据所述起始区间有效数据量、所述统计起始区间以及所述统计结束区间调整所述偏移量M,得到新的偏移量m;
根据所述新的偏移量m更改所述用户的分页查询请求,得到目标查询语句;
所述根据所述查询开始时刻、所述查询结束时刻以及所述统计时长,计算统计起始区间以及统计结束区间,包括:
将所述查询开始时刻以及所述查询结束时刻分别转化为开始时长参数以及结束时长参数;
通过第一预设公式计算得到所述统计起始区间,所述第一预设公式为:所述统计起始区间=所述开始时长参数/所述统计时长;
通过第二预设公式计算得到所述统计结束区间,所述第二预设公式为:所述统计结束区间=所述结束时长参数/所述统计时长。
6.根据权利要求5所述的数据库分页查询装置,其特征在于,所述原表数据获取单元,包括:
记录模式设置子单元用于将数据库的记录模式设置为行记录模式;
引擎设置子单元用于将数据库的引擎设置为InnoDB;
分隔符获取子单元用于获取数据之间的分隔符;
目标数据获取子单元用于根据所述数据之间的分隔符分隔数据,得到多个目标数据;
日志存储子单元用于将所述多个目标数据以及所述目标数据的分隔符保存至同步日志表中;
时间戳列获取子单元用于获取所述多个目标数据的保存时间,得到时间戳列;
同步子单元用于将所述时间戳列保存至所述同步日志表中;
保存子单元用于当所有所述目标数据完成保存后,
二进制日志获取子单元用于获取二进制日志,以得到实时数据。
7.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4中任一项所述的数据库分页查询方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至4中任一项所述的数据库分页查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011560377.4A CN112612827B (zh) | 2020-12-25 | 2020-12-25 | 数据库分页查询方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011560377.4A CN112612827B (zh) | 2020-12-25 | 2020-12-25 | 数据库分页查询方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112612827A CN112612827A (zh) | 2021-04-06 |
CN112612827B true CN112612827B (zh) | 2024-07-12 |
Family
ID=75245613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011560377.4A Active CN112612827B (zh) | 2020-12-25 | 2020-12-25 | 数据库分页查询方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112612827B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113360495B (zh) * | 2021-04-20 | 2023-02-24 | 山东英信计算机技术有限公司 | 一种数据库查询中断的恢复方法、装置、设备及可读介质 |
CN115098215B (zh) * | 2022-07-19 | 2024-06-04 | 重庆紫光华山智安科技有限公司 | 基于多服务的数据分页方法、系统、电子设备及存储介质 |
CN115934806B (zh) * | 2023-02-07 | 2023-05-26 | 云账户技术(天津)有限公司 | 一种基于rbm的数据去重的统计方法、装置、设备及介质 |
CN117648391B (zh) * | 2023-11-28 | 2024-07-05 | 开普勒卫星科技(武汉)有限公司 | 一种gnss轨迹数据存储、查询方法及数据库系统 |
CN117555883B (zh) * | 2024-01-11 | 2024-04-05 | 梅州客商银行股份有限公司 | 一种银行系统数据分库的方法、装置、存储器和电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103778135A (zh) * | 2012-10-18 | 2014-05-07 | 厦门雅迅网络股份有限公司 | 一种实时数据的分布存储和分页查询方法 |
CN105354256A (zh) * | 2015-10-22 | 2016-02-24 | 浪潮电子信息产业股份有限公司 | 一种数据分页查询的方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107748766B (zh) * | 2017-09-28 | 2021-08-24 | 南威软件股份有限公司 | 一种基于Presto和Elasticsearch的大数据快速查询方法 |
CN110019339B (zh) * | 2017-11-20 | 2021-11-30 | 北京京东尚科信息技术有限公司 | 一种数据查询方法和系统 |
US11138365B2 (en) * | 2018-02-02 | 2021-10-05 | International Business Machines Corporation | Pagination of data filtered after retrieval thereof from a data source |
CN109344197B (zh) * | 2018-09-13 | 2021-01-26 | 广州帷策智能科技有限公司 | 基于大数据的分页下载方法和装置 |
-
2020
- 2020-12-25 CN CN202011560377.4A patent/CN112612827B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103778135A (zh) * | 2012-10-18 | 2014-05-07 | 厦门雅迅网络股份有限公司 | 一种实时数据的分布存储和分页查询方法 |
CN105354256A (zh) * | 2015-10-22 | 2016-02-24 | 浪潮电子信息产业股份有限公司 | 一种数据分页查询的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112612827A (zh) | 2021-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112612827B (zh) | 数据库分页查询方法、装置、计算机设备及存储介质 | |
CN111046034B (zh) | 管理内存数据及在内存中维护数据的方法和系统 | |
CN104281672B (zh) | 日志数据的处理方法和装置 | |
CN109254966B (zh) | 数据表查询方法、装置、计算机设备及存储介质 | |
US20210224412A1 (en) | User permission data query method and apparatus, electronic device and medium | |
US20140214897A1 (en) | SYSTEMS AND METHODS FOR ACCESSING A NoSQL DATABASE USING BUSINESS INTELLIGENCE TOOLS | |
US8924373B2 (en) | Query plans with parameter markers in place of object identifiers | |
US11321315B2 (en) | Methods and systems for database optimization | |
EP3767483A1 (en) | Method, device, system, and server for image retrieval, and storage medium | |
CN110659282B (zh) | 数据路由的构建方法、装置、计算机设备和存储介质 | |
CN111078657A (zh) | 一种分布式系统的业务日志查询方法、系统、介质及设备 | |
EP3929763B1 (en) | Database access methods and apparatuses | |
CN109388659B (zh) | 数据存储方法、装置和计算机可读存储介质 | |
CN111611241A (zh) | 一种字典数据操作方法、装置、可读存储介质及终端设备 | |
CN114116762A (zh) | 一种离线数据模糊搜索方法、装置、设备和介质 | |
CN113051460A (zh) | 基于Elasticsearch的数据检索方法、系统、电子设备及存储介质 | |
CN111258819A (zh) | MySQL数据库备份文件的数据获取方法、装置和系统 | |
CN114925041A (zh) | 一种数据查询方法及装置 | |
CN110647577A (zh) | 数据立方体的分区方法、装置、计算机设备及存储介质 | |
CN114398520A (zh) | 数据检索方法、系统、装置、电子设备及存储介质 | |
CN116783588A (zh) | 用于大元数据管理的列技术 | |
CN112527824B (zh) | 分页查询方法、装置、电子设备和计算机可读存储介质 | |
CN112434062A (zh) | 准实时数据处理方法、装置、服务器及存储介质 | |
CN113806803B (zh) | 一种数据存储方法、系统、终端设备及存储介质 | |
US10534761B2 (en) | Significant cleanse change information |
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 |