CN104636503A - 一种数据查询的方法 - Google Patents
一种数据查询的方法 Download PDFInfo
- Publication number
- CN104636503A CN104636503A CN201510103839.2A CN201510103839A CN104636503A CN 104636503 A CN104636503 A CN 104636503A CN 201510103839 A CN201510103839 A CN 201510103839A CN 104636503 A CN104636503 A CN 104636503A
- Authority
- CN
- China
- Prior art keywords
- data
- query
- data table
- record
- inquiry
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据查询的方法,该数据查询方法步骤如下:把数据库中的数据分离为分散数据和连续数据,并分别存放在分散数据表和连续数据表中;确定分散数据表和连续数据表的查询顺序,记录统计分析项目及当前查询顺序,并设定统计开始时间和统计结束时间,将记录的查询总次数加一;根据查询顺序进行数据查询;判断是否到达统计结束时间;判断是否有信的查询请求;根据记录的一次查询成功次数、二次查询成功次数及查询总次数,确定所述查询顺序。本发明有效的减小了数据规模,使得数据查询效率得到了有效控制,并且该查询方法通用性强,简单易用。
Description
技术领域
本发明涉及计算机数据查询技术领域,具体地说是一种数据查询的方法。
背景技术
现今对于信息的分析和查询统计中为了能够支撑应用都需要进行大量的数据查询操作,通过对大量业务的分析,我们发现绝大部分查询所涉及到的数据,可能连续也可能分散,几乎没有太多的规律可言,而且通常规模巨大,能够缓冲到应用系统的内存中的相对总量非常少,绝大部分的查询仍然是直接通过数据库完成的。
在现有的数据查询方法中,一般为了应用系统处理上的简便,都将同一类型的数据按照固定格式存储在数据库的同一张表中。一般用来存储数据 表至少需要两列,一列标识起始号码,一列标识结束号码,相应的也会在这两列上建立索引,通过按索引值范围来查找数据即进行索引范围扫描,从而实现对数据库的查询。但实际业务运作中相当一部分的数据会被重新分解,形成大量的单个数据和区间跨度较小的数据,其中大量的单个数据也就是所谓的各自分离、不连续的分散数据。分散数据的增加会导致表数据规模膨胀、数据规律性降低,从而导致了查询效率的降低,因此难以适应数据量巨大的特点。
发明内容
本发明的技术任务是提供一种数据查询的方法。
本发明的技术任务是按以下方式实现的,该数据查询方法步骤如下:
步骤1:把数据库中的数据分离为分散数据和连续数据,并分别存放在分散数据表和连续数据表中;
步骤2:确定分散数据表和连续数据表的查询顺序,记录统计分析项目及当前查询顺序,并设定统计开始时间和统计结束时间,将记录的查询总次数加一;
步骤3:根据查询顺序进行数据查询;
步骤4:判断是否到达统计结束时间;
步骤5:判断是否有信的查询请求;
步骤6:根据记录的一次查询成功次数、二次查询成功次数及查询总次数,确定所述查询顺序。
所述的步骤1具体操作如下:
步骤11:提取数据库中的一条记录;
步骤12:判断记录的索引起始数据和索引结束数据是否相等;如果相等则将该记录插入分散数据表中;如果不相等则将该记录插入连续数据表中;
步骤13:判断数据库中的记录是否提取完成。
所述步骤3具体操作如下:
步骤300:判断所述查询顺序是否为先查分散数据表;
步骤310:对分散数据表以标识索引起始数据的列进行唯一索引查询,并判断查询是否成功;
步骤311:将记录的一次查询成功的次数加一,然后结束;
步骤320:对连续数据表以标识索引起始数据和索引结束数据的两个列进行复合索引查询;
步骤321:将记录的二次查询成功的次数加一,然后结束;
步骤3101:对连续数据表以标识索引起始数据和索引结束数据的两个列进行复合索引查询;
步骤3111:将记录的一次查询成功的次数加一,然后结束;
步骤3201:对分散数据表以标识索引起始数据的列进行唯一索引查询;
步骤3211:将记录的二次查询成功的次数加一,然后结束。
所述的步骤6具体操作如下:
步骤61:根据以下公式计算一次成功的成功率和二次成功的成功率:
一次查询成功率=一次查询成功次数/查询总次数;
二次查询成功率=二次查询成功次数/查询总次数;
步骤62:比较一次成功的成功率是否大于二次成功的成功率;
步骤63:确定查询顺序为上次查询顺序,然后结束;
步骤64:交换上次查询顺序中分散数据表和连续数据表的顺序后作为查询顺序,然后结束。
本发明的一种数据查询的方法和现有技术相比,在查询数据的时候,分散数据表使用索引唯一扫描,无需使用低效的索引范围扫描:而连续数据表则继续使用索引范围扫描,有效的减小了数据规模,使得数据查询效率得到了有效控制,并且该查询方法通用性强,简单易用。
附图说明
附图1为一种数据查询的方法的流程框图。
附图2为一种数据查询的方法的具体流程框图。
具体实施方式
实施例1:
该数据查询方法步骤如下:
步骤1:把数据库中的数据分离为分散数据和连续数据,并分别存放在分散数据表和连续数据表中;
步骤11:提取所述数据库中的一条记录,如果提取成功则执行步骤12,如果提取不成功则结束;
步骤12:判断所述记录的索引起始数据和索引结束数据是否相等;如果相等则将该记录插入所述分散数据表中;如果不相等则将该记录插入所述连续数据表中;
步骤13:判断所述数据库中的记录是否提取完成,是则执行步骤2,否则执行步骤11。
步骤2:确定分散数据表和连续数据表的查询顺序,记录统计分析项目及当前查询顺序,并设定统计开始时间和统计结束时间,将记录的查询总次数加一;
步骤3:根据查询顺序进行数据查询;
步骤300:判断所述查询顺序是否为先查分散数据表,是则执行步骤310,否则执行步骤3101;
步骤310:对所述分散数据表以标识索引起始数据的列进行唯一索引查询,并判断查询是否成功,如果查询成功则执行步骤311,如果查询不成功则执行步骤320;
步骤311:将记录的一次查询成功的次数加一,然后结束;
步骤320:对所述连续数据表以标识索引起始数据和索引结束数据的两个列进行复合索引查询,并判断查询是否成功,如果查询成功则执行步骤321:如果查询不成功则结束;
步骤321:将记录的二次查询成功的次数加一,然后结束;
步骤3101:对所述连续数据表以标识索引起始数据和索引结束数据的两个列进行复合索引查询,并判断查询是否成功,如果查询成功则执行步骤3111:如果查询不成功则执行步骤3201;
步骤3111:将记录的一次查询成功的次数加一,然后结束;
步骤3201:对所述分散数据表以标识索引起始数据的列进行唯一索引查询,并判断查询是否成功,如果查询不成功则结束,如果查询成功则执行步骤3211;
步骤3211:将记录的二次查询成功的次数加一,然后结束。
步骤4:判断是否到达统计结束时间;
步骤5:判断是否有信的查询请求;
步骤6:根据记录的一次查询成功次数、二次查询成功次数及查询总次数,确定所述查询顺序。
步骤61:根据以下公式计算一次成功的成功率和二次成功的成功率:
一次查询成功率=一次查询成功次数/查询总次数;
二次查询成功率=二次查询成功次数/查询总次数;
步骤62:比较所述一次成功的成功率是否大于所述二次成功的成功率,是则执行步骤63,否则执行步骤64;
步骤63:确定所述查询顺序为上次查询顺序,然后结束;
步骤64:交换上次查询顺序中分散数据表和连续数据表的顺序后作为所述查询顺序,然后结束。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的几种具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
Claims (4)
1.一种数据查询的方法,其特征在于,该数据查询方法步骤如下:
步骤1:把数据库中的数据分离为分散数据和连续数据,并分别存放在分散数据表和连续数据表中;
步骤2:确定分散数据表和连续数据表的查询顺序,记录统计分析项目及当前查询顺序,并设定统计开始时间和统计结束时间,将记录的查询总次数加一;
步骤3:根据查询顺序进行数据查询;
步骤4:判断是否到达统计结束时间;
步骤5:判断是否有信的查询请求;
步骤6:根据记录的一次查询成功次数、二次查询成功次数及查询总次数,确定所述查询顺序。
2.根据权利要求1所述的一种数据查询的方法,其特征在于,所述的步骤1具体操作如下:
步骤11:提取数据库中的一条记录;
步骤12:判断记录的索引起始数据和索引结束数据是否相等;如果相等则将该记录插入分散数据表中;如果不相等则将该记录插入连续数据表中;
步骤13:判断数据库中的记录是否提取完成。
3.根据权利要求1所述的一种数据查询的方法,其特征在于,所述步骤3具体操作如下:
步骤300:判断所述查询顺序是否为先查分散数据表;
步骤310:对分散数据表以标识索引起始数据的列进行唯一索引查询,并判断查询是否成功;
步骤311:将记录的一次查询成功的次数加一,然后结束;
步骤320:对连续数据表以标识索引起始数据和索引结束数据的两个列进行复合索引查询;
步骤321:将记录的二次查询成功的次数加一,然后结束;
步骤3101:对连续数据表以标识索引起始数据和索引结束数据的两个列进行复合索引查询;
步骤3111:将记录的一次查询成功的次数加一,然后结束;
步骤3201:对分散数据表以标识索引起始数据的列进行唯一索引查询;
步骤3211:将记录的二次查询成功的次数加一,然后结束。
4.根据权利要求1所述的一种数据查询的方法,其特征在于,所述的步骤6具体操作如下:
步骤61:根据以下公式计算一次成功的成功率和二次成功的成功率:
一次查询成功率=一次查询成功次数/查询总次数;
二次查询成功率=二次查询成功次数/查询总次数;
步骤62:比较一次成功的成功率是否大于二次成功的成功率;
步骤63:确定查询顺序为上次查询顺序,然后结束;
步骤64:交换上次查询顺序中分散数据表和连续数据表的顺序后作为查询顺序,然后结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510103839.2A CN104636503A (zh) | 2015-03-10 | 2015-03-10 | 一种数据查询的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510103839.2A CN104636503A (zh) | 2015-03-10 | 2015-03-10 | 一种数据查询的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104636503A true CN104636503A (zh) | 2015-05-20 |
Family
ID=53215248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510103839.2A Pending CN104636503A (zh) | 2015-03-10 | 2015-03-10 | 一种数据查询的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104636503A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241094A (zh) * | 2017-07-10 | 2019-01-18 | 大唐移动通信设备有限公司 | 一种数据查询方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1713182A (zh) * | 2004-06-23 | 2005-12-28 | 微软公司 | 数据透视中的异常检测 |
CN1967529A (zh) * | 2006-04-19 | 2007-05-23 | 华为技术有限公司 | 一种数据查询方法 |
CN101187927A (zh) * | 2007-12-17 | 2008-05-28 | 电子科技大学 | 一种刑事案件的串并案智能分析方法 |
-
2015
- 2015-03-10 CN CN201510103839.2A patent/CN104636503A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1713182A (zh) * | 2004-06-23 | 2005-12-28 | 微软公司 | 数据透视中的异常检测 |
CN1967529A (zh) * | 2006-04-19 | 2007-05-23 | 华为技术有限公司 | 一种数据查询方法 |
CN101187927A (zh) * | 2007-12-17 | 2008-05-28 | 电子科技大学 | 一种刑事案件的串并案智能分析方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241094A (zh) * | 2017-07-10 | 2019-01-18 | 大唐移动通信设备有限公司 | 一种数据查询方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103714134B (zh) | 一种网络流量数据索引方法及系统 | |
US20080140627A1 (en) | Method and apparatus for aggregating database runtime information and analyzing application performance | |
CN110399395B (zh) | 基于预计算的加速查询方法、存储介质 | |
CN106407360B (zh) | 一种数据的处理方法及装置 | |
CN105138635A (zh) | 一种利用哈希值比对进行数据增量复制的方法 | |
CN102799598A (zh) | 重复数据删除的数据复原方法 | |
CN103020204A (zh) | 一种对分布式顺序表进行多维区间查询的方法及其系统 | |
CN103970853A (zh) | 优化搜索引擎的方法及装置 | |
CN102135995A (zh) | 一种etl数据清洗设计方法 | |
CN103744913A (zh) | 一种基于搜索引擎技术的数据库检索方法 | |
CN107679104B (zh) | 大表流式并行高速数据比对方法 | |
CN110928882B (zh) | 一种基于改进红黑树的内存数据库索引方法及系统 | |
CN104268298A (zh) | 一种创建数据库索引及其查询的方法 | |
CN105630934A (zh) | 一种数据统计方法及系统 | |
CN106503040B (zh) | 适用sql查询方法的kv数据库及其创建方法 | |
CN105447168A (zh) | Mp4格式的碎片文件恢复与重组的方法 | |
CN104216987A (zh) | 一种基于时间戳且支持删除操作的增量数据捕获方法 | |
CN103810246A (zh) | 一种索引创建方法和装置以及索引查询方法和装置 | |
CN101256579A (zh) | 一种数据库范围查询数据组织的方法 | |
CN107169003B (zh) | 一种数据关联方法及装置 | |
CN102486772A (zh) | 一种数据的导出方法及装置 | |
CN102117305B (zh) | 查询数据的系统、方法和数据管理系统 | |
CN109189783B (zh) | 一种时序数据库表结构改变处理方法 | |
CN101408882A (zh) | 一种授权文档的检索方法和系统 | |
CN102346765A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150520 |