CN112395372A - 基于关系型数据库系统二维表的快速统计方法 - Google Patents
基于关系型数据库系统二维表的快速统计方法 Download PDFInfo
- Publication number
- CN112395372A CN112395372A CN202011434745.0A CN202011434745A CN112395372A CN 112395372 A CN112395372 A CN 112395372A CN 202011434745 A CN202011434745 A CN 202011434745A CN 112395372 A CN112395372 A CN 112395372A
- Authority
- CN
- China
- Prior art keywords
- total number
- data records
- statistical result
- statistical
- data
- 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
Links
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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- 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
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- 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
- G06F16/2433—Query languages
-
- 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/2452—Query translation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (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
技术领域
本发明涉及关系型数据库技术领域,具体涉及一种基于关系型数据库系统二维表的快速统计方法。
背景技术
关系型数据库系统是用以存储用户信息,业务信息,报表等数据的重要技术,用于互联网,大数据,电子商务,电子政务等多种行业中。关系型据库系统中的二维表作为主要存储数据的载体,满足了人们对于持久性存储和实时查询关系型数据的各种需求。但随着互联网,大数据行业的快速发展,关系型数据库系统中二维表记录的业务数据量呈现指数级爆发,二维表中数据总量占用存储空间也越来越大。
在此背景下,针对于关系型数据库系统中存储海量数据的二维表,用传统的、常规的、基于SQL-99标准的结构查询语言(SQL语言)中COUNT()统计函数统计其记录总数时,会去扫描表中所有的数据记录,出现数据量越大,扫描时间越长的现象。而采用该方法COUNT()函数需扫描所有记录数,导致统计执行时间越来越长,严重影响人们对实时统计数据记录总数的获取速度,从而不能够满足人们的需求。
发明内容
本发明的目的在于在不影响关系型数据库数据一致性、完整性及运行性能的基础上,利用数据库技术领域中的触发器机制,提供一种基于关系型数据库系统二维表的快速统计方法。
为实现上述目的,本发明采用的技术方案为:一种基于关系型数据库系统二维表的快速统计方法,包括:
步骤S100,构建初始统计结果表,在关系型数据库系统中,确定需要统计数据记录总数的二维表,以此二维表作为被统计表;在关系型数据库系统中设置一个用于记录被统计表的表名和初始数据记录总数的初始统计结果表;
步骤S200,更新初始统计结果表获得实时统计结果表,将触发器机制翻译成结构化查询语句中的数据定义语言,与被统计表实施到同一关系型数据库系统中对被统计表进行检测;通过触发器机制中的触发器对初始统计结果表中的数据记录总数进行实时更新,获得统计结果表;
步骤S300,查询统计结果表获得表名所对应的实时数据记录总数,当应用需获取被统计表的数据记录总数时,以被统计表的表名作为查询条件直接查询统计结果表,获得实时的数据记录总数。
进一步地,所述触发器机制包括触发器tri_insert和触发器tri_delete,
若触发器tri_insert监测到被统计表的数据插入提交成功时,对初始统计结果表中的数据记录总数加1;
若触发器机制的触发器tri_delete监测到被统计表的数据删除提交成功时,对初始统计结果表中的数据记录总数减1。
本发明的有益效果是:
本发明主要针对关系型数据库系统中存储海量数据的二维表,在需统计数据记录总数的二维表数据量发生增减变化时,提前定义好并插入初始数据记录总数的统计结果表中触发数据记录总数统计值的实时加减计算,从而实时得出针对于该被统计二维表的数据记录总数结果并存储,以达到对该二维表数据记录总数统计耗时的优化,缩短统计时间,提高数据记录总数的统计效率。
附图说明
图1为本发明实施例基于关系型数据库系统二维表的快速统计方法流程图。
具体实施方式
下面将结合本发明实施例的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
参见附图1,本发明的一种基于关系型数据库系统二维表的快速统计方法,包括:
步骤S100,构建初始统计结果表
在关系型数据库系统中,确定需要统计数据记录总数的二维表,以此二维表作为被统计表;在关系型数据库系统中设置一个用于记录被统计表的表名和初始数据记录总数等的初始统计结果表,初始统计结果表为独立数据表结构,通过将被统计表的表名和初始数据记录总数等插入到该数据表结构中形成初始记录。
步骤S200,更新初始统计结果表获得实时统计结果表,
将触发器机制翻译成结构化查询语句中的数据定义语言,与被统计表实施到同一关系型数据库系统中对被统计表进行检测,在被统计表发生插入或删除数据操作并提交事务成功时,对初始统计结果表中的初始数据记录总数进行实时更新。例如,触发器机制中至少包括触发器tri_insert和触发器tri_delete,若触发器tri_insert监测到被统计表的数据插入提交成功时,对初始统计结果表中的数据记录总数加1;若触发器tri_delete监测到被统计表的数据删除提交成功时,对初始统计结果表中的数据记录总数减1。若触发器机制检测到被统计表的相应数据操作提交事务未成功时,对初始统计结果表中的数据记录总数不进行增减操作。通过触发器对初始统计结果表中的数据记录总数进行实时更新,获得统计结果表,并根据上述更新过程,不断对统计结果表进行更新,以使统计结果表内的数据信息为实时状态。
其中,数据库技术中的触发器机制是指现存关系型数据库系统中,已经实际存在的触发器技术,利用该技术并通过针对被统计表的编程,可监测到被统计二维表数据的增减变化,并实时触发统计结果表中,统计结果的增加或减少。
步骤S300,查询统计结果表获得表名所对应的实时数据记录总数,
当前端应用或数据库应用需获取被统计表的数据记录总数时,以被统计表的表名作为查询条件直接查询统计结果表,获得实时的数据记录总数。
通过本发明的基于关系型数据库系统二维表的快速统计方法,在对数据记录总数进行统计时,不需要使用常规执行SQL中COUNT()函数扫描被统计表在存储上所有的数据记录总数或是合并初始数据记录总数和数据变化记录数,而是直接读取统计结果表中的一条已经计算好的静态统计值即可,扫描内容少,因此获取结果的效率更快;缩短得到查询命令与根据查询命令得到查询结果之间的时间差,保证所获得的数据记录总数的准确性。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (2)
1.基于关系型数据库系统二维表的快速统计方法,其特征在于,包括:
步骤S100,构建初始统计结果表
在关系型数据库系统中,确定需要统计数据记录总数的二维表,以此二维表作为被统计表;在关系型数据库系统中设置一个用于记录被统计表的表名和初始数据记录总数的初始统计结果表;
步骤S200,更新初始统计结果表获得实时统计结果表
将触发器机制翻译成结构化查询语句中的数据定义语言,与被统计表实施到同一关系型数据库系统中对被统计表进行检测;通过触发器机制中的触发器对初始统计结果表中的数据记录总数进行实时更新,获得统计结果表;
步骤S300,查询统计结果表获得表名所对应的实时数据记录总数
当应用需获取被统计表的数据记录总数时,以被统计表的表名作为查询条件直接查询统计结果表,获得实时的数据记录总数。
2.根据权利要求1所述基于关系型数据库系统二维表的快速统计方法,其特征在于,所述触发器机制包括触发器tri_insert和触发器tri_delete,
若触发器tri_insert监测到被统计表的数据插入提交成功时,对初始统计结果表中的数据记录总数加1;
若触发器机制的触发器tri_delete监测到被统计表的数据删除提交成功时,对初始统计结果表中的数据记录总数减1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011434745.0A CN112395372A (zh) | 2020-12-10 | 2020-12-10 | 基于关系型数据库系统二维表的快速统计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011434745.0A CN112395372A (zh) | 2020-12-10 | 2020-12-10 | 基于关系型数据库系统二维表的快速统计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112395372A true CN112395372A (zh) | 2021-02-23 |
Family
ID=74625608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011434745.0A Pending CN112395372A (zh) | 2020-12-10 | 2020-12-10 | 基于关系型数据库系统二维表的快速统计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112395372A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113672631A (zh) * | 2021-07-31 | 2021-11-19 | 广州永链信息技术有限责任公司 | 基于数据库的数据处理方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103927346A (zh) * | 2014-03-28 | 2014-07-16 | 浙江大学 | 基于数据量的查询连接方法 |
CN108108486A (zh) * | 2018-01-10 | 2018-06-01 | 上海达梦数据库有限公司 | 一种数据表查询方法、装置、终端设备及存储介质 |
CN108446305A (zh) * | 2018-01-30 | 2018-08-24 | 上海天旦网络科技发展有限公司 | 多维度统计业务数据的系统和方法 |
CN109918450A (zh) * | 2019-03-20 | 2019-06-21 | 江苏瑞中数据股份有限公司 | 基于分析类场景下的分布式并行数据库及存储方法 |
CN110209701A (zh) * | 2019-06-10 | 2019-09-06 | 天津神舟通用数据技术有限公司 | 一种基于内存多级缓存的数据快速分页查询访问的方法 |
GB201913528D0 (en) * | 2018-09-20 | 2019-11-06 | Idera Inc | Database access, monitoring, and control system and method for reacting to suspicious database activities |
CN111125109A (zh) * | 2019-12-24 | 2020-05-08 | 广州德久信息科技有限公司 | 一种基于时间分组累计算法的实时统计报表系统 |
-
2020
- 2020-12-10 CN CN202011434745.0A patent/CN112395372A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103927346A (zh) * | 2014-03-28 | 2014-07-16 | 浙江大学 | 基于数据量的查询连接方法 |
CN108108486A (zh) * | 2018-01-10 | 2018-06-01 | 上海达梦数据库有限公司 | 一种数据表查询方法、装置、终端设备及存储介质 |
CN108446305A (zh) * | 2018-01-30 | 2018-08-24 | 上海天旦网络科技发展有限公司 | 多维度统计业务数据的系统和方法 |
GB201913528D0 (en) * | 2018-09-20 | 2019-11-06 | Idera Inc | Database access, monitoring, and control system and method for reacting to suspicious database activities |
CN109918450A (zh) * | 2019-03-20 | 2019-06-21 | 江苏瑞中数据股份有限公司 | 基于分析类场景下的分布式并行数据库及存储方法 |
CN110209701A (zh) * | 2019-06-10 | 2019-09-06 | 天津神舟通用数据技术有限公司 | 一种基于内存多级缓存的数据快速分页查询访问的方法 |
CN111125109A (zh) * | 2019-12-24 | 2020-05-08 | 广州德久信息科技有限公司 | 一种基于时间分组累计算法的实时统计报表系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113672631A (zh) * | 2021-07-31 | 2021-11-19 | 广州永链信息技术有限责任公司 | 基于数据库的数据处理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2420214C (en) | Data processing method and apparatus | |
US6665678B2 (en) | Method, system, and program for optimistic concurrency control for scrollable cursors in a database | |
US10657116B2 (en) | Create table for exchange | |
US6546394B1 (en) | Database system having logical row identifiers | |
US20110137875A1 (en) | Incremental materialized view refresh with enhanced dml compression | |
CN112084161B (zh) | 基于数据库的数据处理方法、装置以及可读存储介质 | |
TWI549009B (zh) | 資料庫管理方法、資料庫管理系統,以及資料庫樹狀結構 | |
US20110289112A1 (en) | Database system, database management method, database structure, and storage medium | |
CN111752804A (zh) | 一种基于数据库日志扫描的数据库缓存系统 | |
US20150081745A1 (en) | Database insert with deferred materialization | |
US6763358B2 (en) | Method and system for activating column triggers in a database management system | |
CN112395372A (zh) | 基于关系型数据库系统二维表的快速统计方法 | |
US20180341709A1 (en) | Unstructured search query generation from a set of structured data terms | |
US7752181B2 (en) | System and method for performing a data uniqueness check in a sorted data set | |
CN111694853B (zh) | 基于世系的数据增量采集方法、装置、存储介质和电子设备 | |
Dwivedi et al. | Performance analysis of column oriented database vs row oriented database | |
CN110874360A (zh) | 一种基于固定容量的有序队列缓存方法及装置 | |
CN115469810A (zh) | 一种数据获取方法、装置、设备及存储介质 | |
CN114218277A (zh) | 一种关系数据库的高效查询方法和装置 | |
CN113468164A (zh) | 分区元数据管理方法及装置 | |
CN116204556B (zh) | 基于搜索引擎和关系型数据库的实时对象存储查询系统 | |
US7877390B2 (en) | Systems and methods for providing autonomous persistent storage systems | |
CN113986861A (zh) | 一种基于值日志系统的数据修改历史的查询方法和系统 | |
KR100778328B1 (ko) | 가상칼럼을 이용한 데이터베이스에서의 질의 최적화 방법 | |
CN117971839A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210223 |