CN102479198B - 一种数据分页方法、装置及*** - Google Patents
一种数据分页方法、装置及*** Download PDFInfo
- Publication number
- CN102479198B CN102479198B CN201010560935.7A CN201010560935A CN102479198B CN 102479198 B CN102479198 B CN 102479198B CN 201010560935 A CN201010560935 A CN 201010560935A CN 102479198 B CN102479198 B CN 102479198B
- Authority
- CN
- China
- Prior art keywords
- data
- serial number
- page
- temporary table
- modified
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明适用于数据处理领域,提供了一种数据分页方法、装置及***,所述方法包括下述步骤:从物理表中获取符合查询条件的数据,并为获取的数据分配顺序号,将分配了顺序号的数据存储至临时表中;根据数据展示页面设置的每个页面展示数据的条数,计算当前展示页面顺序号的左右边界;根据所述当前页面顺序号的左右边界,从所述临时表中获取当前页面展示数据。本发明通过生成带有顺序号的临时表,使得在对数据查询结果进行分页展示的时候,直接根据临时表中的顺序号来实现数据查询结果的分页展示,同时在物理表数据发生修改时,同步在临时表中进行更新,减少了数据库语句的复杂度和执行次数。
Description
技术领域
本发明属于数据处理领域,尤其涉及一种数据分页方法、装置及***。
背景技术
在现有的数据管理***中实现数据查询,首先需要关联到查询数据的物理表,将满足查询条件的数据的键信息查询出来进行保存,再根据键的范围,在分页显示每一页数据的时候,都从物理表中读取一页数据。由于在每次进行查询时都需要关联到物理表,增加了数据库语句的复杂度和锁资源的开销,同时一旦物理表中的数据发生改变,则需要重新获取相关数据,增加了数据库语句执行的复杂度和次数,执行性能受到很大影响。
发明内容
本发明实施例的目的在于提供一种数据分页方法,旨在解决现有技术中数据查询结果分页展示时需要多次访问物理表,导致数据库语句执行性能差的问题。
本发明实施例是这样实现的,一种数据分页方法,所述方法包括下述步骤:
从物理表中获取符合查询条件的数据,并为获取的数据分配顺序号,将分配了顺序号的数据存储至临时表中;
根据数据展示页面设置的每个页面展示数据的条数,计算当前展示页面顺序号的左右边界;
根据所述当前页面顺序号的左右边界,从所述临时表中获取当前页面展示数据;
所述方法还包括下述步骤:
当要对物理表中待修改的数据进行修改时,从所述临时表中获取待修改数据的顺序号;
对物理表中所述待修改数据进行修改后,得到修改后的数据,并从所述临时表中删除所述待修改数据;
为所述修改后的数据分配从所述临时表中获取的所述待修改数据的顺序号后,***所述临时表;
从所述临时表中重新获取当前分页展示数据。
本发明实施例的另一目的在于提供数据分页装置,所述装置包括:
数据查询单元,用于通过读取一个或者多个物理表,获取符合查询条件的数据;
顺序号生成单元,用于为获取的数据分配顺序号;
临时表存储单元,用于将分配了所述顺序号的数据存储至临时表中;
顺序号计算单元,用于根据数据展示页面设置的每个页面展示数据的条数,计算当前展示页面顺序号的左右边界;
分页数据获取单元,用于根据所述当前展示页面顺序号的左右边界,从所述临时表中获取当前页面展示数据;
顺序号获取单元,用于当要对物理表中待修改的数据进行修改时,从所述临时表中获取待修改数据的顺序号;
数据删除单元,用于对物理表中所述待修改数据进行修改后,得到修改后的数据,并从所述临时表中删除所述待修改数据;
数据更新单元,用于为所述修改后的数据分配从所述临时表中获取的所述待修改数据的顺序号,并***所述临时表。
本发明实施例的另一目的在于提供一种包含上述数据分页装置的***。
本发明实施例通过生成带有顺序号的临时表,使得在对数据查询结果进行分页展示的时候,直接根据临时表中的顺序号来实现数据查询结果的分页展示,同时在物理表数据发生修改时,同步在临时表中进行更新,减少了数据库语句的复杂度和执行次数,减少锁资源的争用。
附图说明
图1是本发明第一实施例提供的数据分页方法的实现流程图;
图2是本发明第二实施例提供的数据分页方法的实现流程图;
图3是本发明第三实施例提供的数据分页装置的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,通过生成带有顺序号的临时表,根据临时表中的顺序号来实现数据查询结果的分页展示,使得在对数据查询结果进行分页展示的时候,不需要在展示每一分页时都对物理表进行访问,减少了数据库语句的复杂度和执行次数,减少锁资源的争用。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1示出了本发明第一实施例提供的数据分页方法的实现流程,详述如下:
在步骤S101中,从物理表中获取符合查询条件的数据,并为获取的数据分配顺序号,将分配了顺序号的数据存储至临时表中。
在本实施例中,根据设置的查询条件,通过读取物理表获取满足查询条件的所有数据,其中,数据的查询来源可以为关联到多个物理表的数据。同时,利用数据库的顺序号生成机制,自动地对查询到的所有数据分配顺序号,并将查询结果与自动分配的顺序号关联,生成临时表。
作为本实施例的一个实现示例,步骤S101的数据库执行语句如下:
SELECT*,自动生成顺序号AS顺序号
INTO T1
FROM业务表1T
JOIN业务表2B1on T.FITEMID=B1.FITEMID
LEFT JOIN业务表3B2ON B2.FDEPID=T.FDEPID
…
WHERE T.FDATE>’2010-03-01’AND T.FDATE<’2010-03-30’
ORDER BY T.FINTERID
在上述语句中,定义了键FDATE的取值范围为2010-03-01至2010-03-30的查询条件,首先从业务表1中读取满足该查询条件的数据,该数据同时关联了业务表2、3……,将查询出的数据按照键FINFERID的键值排序,并通过数据库的顺序号生成机制自动为排列出的数据分配顺序号,同时将结果存储到临时表T1中。
在步骤S102中,根据数据展示页面设置的每个页面展示数据的条数,动态计算当前展示页面顺序号的左右边界。
在本实施例中,通过获取的数据展示页面设置的每个页面展示数据的条数,对当前展示页面顺序号的左右边界进行计算,确定在当前展示页面展示的数据的顺序号范围。
在步骤S103中,根据当前页面顺序号的左右边界,从临时表中获取当前页面展示数据。
作为本实施例的一个实现示例,步骤S102和步骤S103的数据库执行语句如下:
Select*from临时表where顺序号BETWEEN左边界and右边界
例如要从临时表T1中每页取50条数据进行展示,那么获取的第一页数据的数据库执行语句将为
Select*from T1where顺序号BETWEEN1and50
在本实施例中,当对数据查询结果进行分页展示时,只需在展示每一页面时根据计算出的当前页面顺序号的左右边界,由临时表中获取该顺序号左右边界范围内的数据进行展示,即可实现数据查询结果的分页展示,而不需要在每展示一页页面时都向物理表请求数据,减少了数据库语句的执行次数和复杂度。
在本发明实施例中,当对物理表中的某条数据进行修改后,经过修改的该条数据会同步更新到数据查询时生成的临时表中,此时,通过临时表获取的分页数据也会得到同步更新,不需要再次重新通过物理表进行数据获取,避免重复执行复杂的数据库语句。
图2示出了本发明第二实施例提供的数据分页方法实现流程,详述如下:
在步骤S201中,当要对物理表中的数据进行修改时,从临时表中获取待修改数据的顺序号。
在本实施例中,当要对物理表中的某条数据进行修改时,首先在临时表中找到该条数据的相应记录,获取其在临时表中的顺序号。
在步骤S202中,对物理表中待修改的数据进行修改后,得到修改后的数据,并从临时表中删除该待修改数据。
在本实施例中,通过步骤S201中获取的数据的顺序号,在临时表中找出该顺序号对应的数据相关记录,并删除。
在步骤S203中,为该修改后的数据分配从临时表中获取的待修改的数据的顺序号后,***临时表。
在步骤S204中,从临时表中重新获取当前分页展示数据。
在本实施例中,通过上述步骤,即可实现在物理表数据发生更改时对临时表的同步更新,该更新不需要重新读取一遍物理表,只需要对临时表中的相关记录进行更新即可,减少了数据库语句的执行次数和执行复杂度。在对临时表同步更新后,重复执行步骤S102和步骤S103,即可刷新数据展示页面,查询到更新的当前分页展示数据。
图3示出了本发明第三实施例提供的数据分页装置的结构,为了便于说明,仅示出了与本实施例相关的部分。
该数据分页装置可以运行于数据管理***,为数据管理***中的软件单元、硬件单元或者软硬件结合单元。其中:
顺序号生成单元31,利用数据库中的顺序号生成机制,为符合查询条件的数据自动分配相应的顺序号。
临时表存储单元32,将分配了顺序号的数据存储至临时表中。
顺序号计算单元33,根据数据展示页面设置的每个页面展示数据的条数,计算当前展示页面顺序号的左右边界。
分页数据展示单元34,根据顺序号计算单元33计算出的当前展示页面顺序号的左右边界,从临时表存储单元32中获取该页面顺序号左右边界范围内的当前展示页面的展示数据。
在本实施例中,数据分页装置还包括:
数据查询单元35,从物理表中查询出符合查询条件的所有数据,其中,数据的查询来源可以为关联到多个物理表的数据。
展示数据条数获取单元36,获取数据展示页面设置的每个页面展示数据的条数。
在本实施例中,当对物理表中的数据进行修改时,数据分页装置还包括:
顺序号获取单元37,从临时表中获取待修改数据的顺序号。
数据删除单元38,在物理表中对待修改数据进行修改后,得到修改后的数据,并从临时表中删除待修改数据。
数据更新单元39,为上述修改后的数据分配从顺序号获取单元37中获取的待修改数据的顺序号,并***临时表。
在本发明实施例中,通过生成带有顺序号的临时表,在对数据查询结果进行分页显示的过程中,只需要使用一次物理表,其余步骤均可通过访问临时表完成,此外,在对物理表中的数据进行修改后,能够同步地将该条修改结果更新到临时表中,不需要重新对物理表进行访问,减少了数据库语句的执行复杂度和执行次数,提升了数据库语句的执行性能。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种数据分页方法,其特征在于,所述方法包括下述步骤:
从物理表中获取符合查询条件的数据,并为获取的数据分配顺序号,将分配了顺序号的数据存储至临时表中;
根据数据展示页面设置的每个页面展示数据的条数,计算当前展示页面顺序号的左右边界;
根据所述当前页面顺序号的左右边界,从所述临时表中获取当前页面展示数据;
所述方法还包括下述步骤:
当要对物理表中待修改的数据进行修改时,从所述临时表中获取待修改数据的顺序号;
对物理表中所述待修改数据进行修改后,得到修改后的数据,并从所述临时表中删除所述待修改数据;
为所述修改后的数据分配从所述临时表中获取的所述待修改数据的顺序号后,***所述临时表;
从所述临时表中重新获取当前分页展示数据。
2.如权利要求1所述的方法,其特征在于,所述符合查询条件的数据从一个或者多个物理表中获取。
3.如权利要求1所述的方法,其特征在于,在所述根据数据展示页面所能展示的数据的条数计算当前页面顺序号的左右边界的步骤之前,所述方法还包括下述步骤:
获取所述数据展示页面设置的每个面面所能展示的数据的条数。
4.一种数据分页装置,其特征在于,所述装置包括:
数据查询单元,用于通过读取一个或者多个物理表,获取符合查询条件的数据;
顺序号生成单元,用于为获取的数据分配顺序号;
临时表存储单元,用于将分配了所述顺序号的数据存储至临时表中;
顺序号计算单元,用于根据数据展示页面设置的每个页面展示数据的条数,计算当前展示页面顺序号的左右边界;
分页数据获取单元,用于根据所述当前展示页面顺序号的左右边界,从所述临时表中获取当前页面展示数据;
顺序号获取单元,用于当要对物理表中待修改的数据进行修改时,从所述临时表中获取待修改数据的顺序号;
数据删除单元,用于对物理表中所述待修改数据进行修改后,得到修改后的数据,并从所述临时表中删除所述待修改数据;
数据更新单元,用于为所述修改后的数据分配从所述临时表中获取的所述待修改数据的顺序号,并***所述临时表。
5.如权利要求4所述的装置,其特征在于,所述装置还包括:
展示数据条数获取单元,用于获取所述数据展示页面设置的每个页面展示数据的条数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010560935.7A CN102479198B (zh) | 2010-11-26 | 2010-11-26 | 一种数据分页方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010560935.7A CN102479198B (zh) | 2010-11-26 | 2010-11-26 | 一种数据分页方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102479198A CN102479198A (zh) | 2012-05-30 |
CN102479198B true CN102479198B (zh) | 2014-04-02 |
Family
ID=46091846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010560935.7A Active CN102479198B (zh) | 2010-11-26 | 2010-11-26 | 一种数据分页方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102479198B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107783978A (zh) * | 2016-08-24 | 2018-03-09 | 中安消物联传感(深圳)有限公司 | 一种大数据查询返回方法及装置 |
CN106649435A (zh) * | 2016-09-07 | 2017-05-10 | 努比亚技术有限公司 | 数据查询装置及方法 |
CN107463677B (zh) * | 2017-08-04 | 2020-12-11 | 网易(杭州)网络有限公司 | 图表绘制方法、***、介质和计算设备 |
CN107679180A (zh) * | 2017-09-29 | 2018-02-09 | 北京金山安全软件有限公司 | 数据展示方法及装置 |
CN110874368A (zh) * | 2018-08-14 | 2020-03-10 | 山东华软金盾软件股份有限公司 | 一种基于Realm数据库的数据分页***及方法 |
CN109241447A (zh) * | 2018-10-29 | 2019-01-18 | 金蝶软件(中国)有限公司 | 一种查询单据数据的方法、终端以及服务器 |
CN110955696B (zh) * | 2019-11-12 | 2022-10-14 | 中国经济信息社有限公司 | 数据读取方法、装置、设备和存储介质 |
CN113312382A (zh) * | 2021-05-31 | 2021-08-27 | 上海万物新生环保科技集团有限公司 | 一种用于数据库分页查询的方法、装置及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1632793A (zh) * | 2004-12-29 | 2005-06-29 | 复旦大学 | 一种利用缓存将关系数据发布为xml文档的优化方法 |
CN101446964A (zh) * | 2008-12-31 | 2009-06-03 | 中国建设银行股份有限公司 | 一种数据钻取的方法及计算机设备 |
CN101639839A (zh) * | 2008-07-30 | 2010-02-03 | 中兴通讯股份有限公司 | 一种基于临时表的多归档文件查询方法 |
CN101860449A (zh) * | 2009-04-09 | 2010-10-13 | 华为技术有限公司 | 一种数据查询方法、装置及*** |
-
2010
- 2010-11-26 CN CN201010560935.7A patent/CN102479198B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1632793A (zh) * | 2004-12-29 | 2005-06-29 | 复旦大学 | 一种利用缓存将关系数据发布为xml文档的优化方法 |
CN101639839A (zh) * | 2008-07-30 | 2010-02-03 | 中兴通讯股份有限公司 | 一种基于临时表的多归档文件查询方法 |
CN101446964A (zh) * | 2008-12-31 | 2009-06-03 | 中国建设银行股份有限公司 | 一种数据钻取的方法及计算机设备 |
CN101860449A (zh) * | 2009-04-09 | 2010-10-13 | 华为技术有限公司 | 一种数据查询方法、装置及*** |
Also Published As
Publication number | Publication date |
---|---|
CN102479198A (zh) | 2012-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102479198B (zh) | 一种数据分页方法、装置及*** | |
US11249969B2 (en) | Data storage method and apparatus, and storage medium | |
EP3333726A1 (en) | Distributed database processing method and device | |
CN101996067B (zh) | 一种数据导出的方法和装置 | |
CN110674154B (zh) | 一种基于Spark的对Hive中数据进行***、更新和删除的方法 | |
WO2017107826A1 (zh) | 一种业务信息的推送方法和装置 | |
CN102509012A (zh) | 将电子病历的内容映射电子病历标准数据库的方法 | |
CN104915450A (zh) | 一种基于HBase的大数据存储与检索方法及*** | |
CN103180835B (zh) | 用于扩展无共享***的装置和方法 | |
CN104573065A (zh) | 一种基于元数据的报表展示引擎 | |
CN105045775A (zh) | 一种指定格式的Excel文档生成方法及装置 | |
CN105550270B (zh) | 数据库查询方法和装置 | |
CN106375360B (zh) | 一种图数据更新方法、装置及*** | |
CN102567514B (zh) | 一种数据处理方法及*** | |
CN103927385A (zh) | 数据模型的统一方法及装置 | |
US20190311051A1 (en) | Virtual columns to expose row specific details for query execution in column store databases | |
CN110968603A (zh) | 一种数据访问方法及装置 | |
CN101719131B (zh) | 一种报表数据的处理方法、装置和*** | |
CN111090803A (zh) | 一种数据处理方法、装置、电子设备和存储介质 | |
CN104239412B (zh) | 数据存储库中应用至存储库的数据映射及相关方法、***和计算机可读介质 | |
CN112035207A (zh) | 基于数据库的页面菜单动态加载方法及装置 | |
CN103559247A (zh) | 一种数据业务处理方法及装置 | |
CN105095392A (zh) | 一种数据集市间共享数据的方法及装置 | |
Choi et al. | Improving database system performance by applying NoSQL | |
CN112131214A (zh) | 数据写入、数据查询的方法、***、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |