CN102541879A - 用于树形结构表的查询方法和装置 - Google Patents
用于树形结构表的查询方法和装置 Download PDFInfo
- Publication number
- CN102541879A CN102541879A CN2010105938208A CN201010593820A CN102541879A CN 102541879 A CN102541879 A CN 102541879A CN 2010105938208 A CN2010105938208 A CN 2010105938208A CN 201010593820 A CN201010593820 A CN 201010593820A CN 102541879 A CN102541879 A CN 102541879A
- Authority
- CN
- China
- Prior art keywords
- data
- query
- complete trails
- inquiry
- local 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种用于树形结构表的查询方法和装置,属于数据库领域。所述树形结构表中的数据中包括全路径数据,该包括:接收查询条件,并根据所述查询条件提取查询因子;将全路径数据中包含所述查询因子的本地数据作为查询结果反馈。该查询装置包括:接收模块和查询模块。通过在本地数据中增加全路径数据,并在查询的时候将全路径数据中包含查询因子的本地数据作为查询结果反馈给用户,使得查询受数据量大小影响的程度大大降低,提高了效率,且兼容性好。
Description
技术领域
本发明涉及数据库领域,特别涉及一种用于树形结构表的查询方法和装置。
背景技术
在数据库的树形结构表中,经常需要对其某一节点的父级或子级数据进行查询,该查询一般是通过查询常规的树结构表中数据的FID(即数据库编码ID字段),并查询FID级联的FPID(即数据库父级编码ID字段)及其对应的内容。例如,参见表1,表1为数据库树结构表中的内容,其中FNAME表示数据库编码名称字段。
表1
FPID | FID | FNAME | |
1 | (null) | 01 | XXX公司 |
2 | 01 | 0101 | XXX部门1 |
3 | 01 | 0102 | XXX部门2 |
4 | 0101 | 010101 | XXX岗位11 |
5 | 0102 | 010201 | XXX岗位21 |
6 | 010101 | 01010101 | XXX员工A |
7 | 010201 | 01020101 | XXX员工B |
如需查询“XXX部门2”的所有子节点数据,则需使用SQL语句:select*from T_SYS_ORG connect by prior FID=FPID start with FID=′0102′,也即是通过查询FID字段值为“0102”的所有子节点数据。
在对现有技术进行分析后,发明人发现现有技术至少具有如下缺点:
现有技术的查询方法由于属于递归算法查询,所以在数据量大的时候,效率很低,且不是所有数据库都支持,存在兼容性问题。
发明内容
本发明实施例提供了一种用于树形结构表的查询方法和装置。所述技术方案如下:
一种用于树形结构表的查询方法,包括:
接收查询条件,并根据所述查询条件提取查询因子;
将全路径数据中包含所述查询因子的本地数据作为查询结果反馈。
所述全路径数据用于记录节点的全编码路径。
所述全路径数据包括:所述本地数据的FID、FPID。
将全路径数据中包含所述查询因子的本地数据作为查询结果反馈,具体包括:
判断每个本地数据的全路径数据中是否包含所述查询因子,如果是,则将全路径数据中包含所述查询因子的本地数据作为查询结果反馈。
一种用于树形结构表的查询装置,包括:
接收模块,用于接收查询条件,并根据所述查询条件提取查询因子;
查询模块,用于将全路径数据中包含所述查询因子的本地数据作为查询结果反馈。
所述全路径数据用于记录节点的全编码路径。
所述全路径数据包括:所述本地数据的FID、FPID。
所述查询模块具体用于判断每个本地数据的全路径数据中是否包含所述查询因子,如果是,则将全路径数据中包含所述查询因子的本地数据作为查询结果反馈。
本发明实施例提供的技术方案的有益效果是:
通过在本地数据中增加全路径数据,并在查询的时候将全路径数据中包含查询因子的本地数据作为查询结果反馈给用户,使得查询受数据量大小影响的程度大大降低,提高了效率,且兼容性好。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付 出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种用于树形结构表的查询方法的流程图;
图2是本发明实施例提供的一种用于树形结构表的查询方法的流程图;
图3是本发明实施例提供的一种用于树形结构表的查询装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
为了提高查询效率,本发明实施例提供了一种用于树形结构表的查询方法,参见图1,该方法包括:
101:接收查询条件,并根据该查询条件提取查询因子;
102:将全路径数据中包含该查询因子的本地数据作为查询结果反馈。
其中,所述全路径数据用于记录节点的全编码路径。
其中,所述全路径数据包括:所述本地数据的FID、FPID。
其中,将全路径数据中包含所述查询因子的本地数据作为查询结果反馈,具体包括:
判断每个本地数据的全路径数据中是否包含所述查询因子,如果是,则将全路径数据中包含所述查询因子的本地数据作为查询结果反馈。
本发明实施例提供的方法,通过在本地数据中增加全路径数据,并在查询的时候将全路径数据中包含查询因子的本地数据作为查询结果反馈给用户,使得查询受数据量大小影响的程度大大降低,提高了效率,且兼容性好。
实施例2
为了提高查询效率,本发明实施例提供了一种用于树形结构表的查询方法,参见图2,该方法包括:
201:接收查询条件;
在本发明实施例中,查询条件即是用户输入的字节,例如,用户在搜索栏中输入“员工A”,则该次查询的查询条件为“员工A”。
202:根据查询条件,提取查询因子;
在本发明实施例中,该查询因子是用户输入的查询条件所对应的数据,本 领域技术人员可以获知,在数据库中保存有查询条件与查询因子的对应关系,其对应关系也可以理解为数据库中该查询条件对应的代码,举例说明,例如,某单位“员工A”的FID为“01010101”,也即是如果需在数据库中查询员工A,输入“员工A”,事实上去做查询工作时,使用“员工A”所对应的代码“01010101”进行查询。
203:判断每个本地数据的全路径数据中是否包含查询因子,如果是,执行步骤204;如果否,结束。
在本发明实施例中,全路径数据用于记录节点的全编码路径,优选地,该全路径数据表示把树节点编码及其所有父级节点编码用逗号组合起来确定此树节点唯一性标识的字符串数据。
参见表2和表3,表2为树形结构表中一种数据格式,表3是表2中数据格式各个项目的具体描述的一个示例,其中,FPATH字段即为全路径数据所在字段。
其中,COLUMN_NAME表示数据库字段的名称,DATA_TYPE表示数据库字段的数据类型,NULLABLE表示数据库字段是否允许空值,DATA_DEFAULT表示数据库字段的默认值,CILUMN_ID表示数据库字段的序列号,COMMENTS表示数据库字段的附加说明内容。
该全路径数据包括:本地数据的FID、FPID。
表2
表3
FPID | FID | FNAME | FPATH | |
1 | (null) | 01 | XXX公司 | 01 |
2 | 01 | 0101 | XXX部门1 | 01,0101 |
3 | 01 | 0102 | XXX部门2 | 01,0102, |
4 | 0101 | 010101 | XXX岗位11 | 01,0101,010101 |
5 | 0102 | 010201 | XXX岗位21 | 01,0102,010201 |
6 | 010101 | 01010101 | XXX员工A | 01,0101,010101,01010101 |
7 | 010201 | 01020101 | XXX员工B | 01,0102,010201,01020101 |
204:将全路径数据中包含查询因子的本地数据作为查询结果反馈。
在本发明实施例中所使用的查询方式为模糊查询,将全路径数据中包含查询因子的本地数据反馈给用户,避免了递归算法中的一层层查询,只需对所有本地数据的全路径数据进行查询,只要其包括该查询因子,则该本地数据为当前查询所需要的查询结果。
例如,某公司的成员数据库中,有如表3的多个数据,当需要查询“XXX部门2”的所有部门成员及其部门数据时,只需根据其对应的查询因子“01,0102”进行模糊查询,则该表中的“XXX部门2”(全路径数据为“01,0102”)和“XXX岗位21”(全路径数据为“01,0102,010201”)和“XXX员工B”(全路径数据为“01,0102,010201,01020101”)都将作为查询结果反馈给用户。
本发明实施例提供的方法,通过在本地数据中增加全路径数据,并在查询的时候将全路径数据中包含查询因子的本地数据作为查询结果反馈给用户,使得查询受数据量大小影响的程度大大降低,提高了效率,且兼容性好。
为了提高查询效率,本发明实施例提供了一种用于树形结构表的查询装置,参见图3,该装置包括:
接收模块301,用于接收查询条件,并根据所述查询条件提取查询因子;
查询模块302,用于将全路径数据中包含所述查询因子的本地数据作为查询结果反馈。
所述全路径数据用于记录节点的全编码路径。
所述全路径数据包括:所述本地数据的FID、FPID。
所述查询模块302具体用于判断每个本地数据的全路径数据中是否包含所述查询因子,如果是,则将全路径数据中包含所述查询因子的本地数据作为查询结果反馈。
本实施例提供的装置,与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本发明实施例提供的查询装置,通过在本地数据中增加全路径数据,并在查询的时候将全路径数据中包含查询因子的本地数据作为查询结果反馈给用户,使得查询受数据量大小影响的程度大大降低,提高了效率,且兼容性好。
本发明实施例提供的上述技术方案的全部或部分可以通过程序指令相关的硬件来完成,所述程序可以存储在可读取的存储介质中,该存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种用于树形结构表的查询方法,其特征在于,所述树形结构表中的数据中包括全路径数据,包括:
接收查询条件,并根据所述查询条件提取查询因子;
将全路径数据中包含所述查询因子的本地数据作为查询结果反馈。
2.根据权利要求1所述的方法,其特征在于,所述全路径数据用于记录节点的全编码路径。
3.根据权利要求2所述的方法,其特征在于,所述全路径数据包括:所述本地数据的FID、FPID。
4.根据权利要求1所述的方法,其特征在于,将全路径数据中包含所述查询因子的本地数据作为查询结果反馈,具体包括:
判断每个本地数据的全路径数据中是否包含所述查询因子,如果是,则将全路径数据中包含所述查询因子的本地数据作为查询结果反馈。
5.一种用于树形结构表的查询装置,其特征在于,包括:
接收模块,用于接收查询条件,并根据所述查询条件提取查询因子;
查询模块,用于将全路径数据中包含所述查询因子的本地数据作为查询结果反馈。
6.根据权利要求5所述的装置,其特征在于,所述全路径数据用于记录节点的全编码路径。
7.根据权利要求6所述的装置,其特征在于,所述全路径数据包括:所述本地数据的FID、FPID。
8.根据权利要求5所述的装置,其特征在于,所述查询模块具体用于判断每个本地数据的全路径数据中是否包含所述查询因子,如果是,则将全路径数据中包含所述查询因子的本地数据作为查询结果反馈。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105938208A CN102541879A (zh) | 2010-12-09 | 2010-12-09 | 用于树形结构表的查询方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105938208A CN102541879A (zh) | 2010-12-09 | 2010-12-09 | 用于树形结构表的查询方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102541879A true CN102541879A (zh) | 2012-07-04 |
Family
ID=46348799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105938208A Pending CN102541879A (zh) | 2010-12-09 | 2010-12-09 | 用于树形结构表的查询方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102541879A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630943A (zh) * | 2015-12-23 | 2016-06-01 | 合一网络技术(北京)有限公司 | 一种广告素材查找方法及装置 |
CN107526817A (zh) * | 2017-08-28 | 2017-12-29 | 平安科技(深圳)有限公司 | 一种业务员编码智能生成方法、设备及存储介质 |
CN114896271A (zh) * | 2022-06-09 | 2022-08-12 | 城云科技(中国)有限公司 | 一种高效维护节点全路径的方法、装置及应用 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101083624A (zh) * | 2007-07-10 | 2007-12-05 | 北京航空航天大学 | 基于树形结构的路由方法 |
CN101470727A (zh) * | 2007-12-24 | 2009-07-01 | 新奥特(北京)视频技术有限公司 | 一种树形数据编辑处理的方法及系统 |
CN101655871A (zh) * | 2009-09-25 | 2010-02-24 | 金蝶软件(中国)有限公司 | 一种数据存储、查询方法和装置 |
-
2010
- 2010-12-09 CN CN2010105938208A patent/CN102541879A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101083624A (zh) * | 2007-07-10 | 2007-12-05 | 北京航空航天大学 | 基于树形结构的路由方法 |
CN101470727A (zh) * | 2007-12-24 | 2009-07-01 | 新奥特(北京)视频技术有限公司 | 一种树形数据编辑处理的方法及系统 |
CN101655871A (zh) * | 2009-09-25 | 2010-02-24 | 金蝶软件(中国)有限公司 | 一种数据存储、查询方法和装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630943A (zh) * | 2015-12-23 | 2016-06-01 | 合一网络技术(北京)有限公司 | 一种广告素材查找方法及装置 |
CN107526817A (zh) * | 2017-08-28 | 2017-12-29 | 平安科技(深圳)有限公司 | 一种业务员编码智能生成方法、设备及存储介质 |
WO2019041822A1 (zh) * | 2017-08-28 | 2019-03-07 | 平安科技(深圳)有限公司 | 一种业务员编码智能生成方法、装置、设备及存储介质 |
CN107526817B (zh) * | 2017-08-28 | 2020-08-14 | 平安科技(深圳)有限公司 | 一种业务员编码智能生成方法、设备及存储介质 |
CN114896271A (zh) * | 2022-06-09 | 2022-08-12 | 城云科技(中国)有限公司 | 一种高效维护节点全路径的方法、装置及应用 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11573941B2 (en) | Systems, methods, and data structures for high-speed searching or filtering of large datasets | |
US7461060B2 (en) | Generalized partition pruning in a database system | |
CA2484009A1 (en) | Managing expressions in a database system | |
CN104794146A (zh) | 商品实时筛选和排序的方法和装置 | |
CN109684336A (zh) | 基于大数据应用实现树形数据表高效检索与排序功能的系统及方法 | |
CN102012900A (zh) | 信息检索方法和系统 | |
CN110929042A (zh) | 一种基于电力企业的知识图谱构建和查询方法 | |
US20080154927A1 (en) | Use of federation services and transformation services to perform extract, transform, and load (etl) of unstructured information and associated metadata | |
CN101535990A (zh) | 高效的搜索结果更新机制 | |
CN102651013A (zh) | 一种从企业名称数据中提取区域信息的方法及系统 | |
US9626401B1 (en) | Systems and methods for high-speed searching and filtering of large datasets | |
US20150186481A1 (en) | Extract, transform and load (etl) system and method | |
CN105404627A (zh) | 一种用于确定搜索结果的方法与设备 | |
CN102004798A (zh) | 一种基于复数单维索引的对称发布订阅系统匹配方法 | |
KR20150018880A (ko) | 정보 취합 분류의 디스플레이 방법 및 시스템 | |
US9053207B2 (en) | Adaptive query expression builder for an on-demand data service | |
CN105745642B (zh) | 查询数据的处理方法和装置 | |
CN101365190A (zh) | 手机终端的用户手机信息字符串的检索匹配方法和装置 | |
CN102541879A (zh) | 用于树形结构表的查询方法和装置 | |
CN109739882A (zh) | 一种基于Presto和Elasticsearch的大数据查询优化方法 | |
CN103810300A (zh) | 用于非索引覆盖的数据查询方法和装置 | |
CN102360359A (zh) | 数据管理装置和数据管理方法 | |
US20070143572A1 (en) | Techniques for mapping a physical table to multiple virtual tables | |
CN105117447A (zh) | 一种xml文档数据的处理方法及系统 | |
CN104731908A (zh) | 一种基于etl的数据清洗方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120704 |