CN107169046A - 一种数据库索引查找方法、装置及用户终端 - Google Patents
一种数据库索引查找方法、装置及用户终端 Download PDFInfo
- Publication number
- CN107169046A CN107169046A CN201710277744.1A CN201710277744A CN107169046A CN 107169046 A CN107169046 A CN 107169046A CN 201710277744 A CN201710277744 A CN 201710277744A CN 107169046 A CN107169046 A CN 107169046A
- Authority
- CN
- China
- Prior art keywords
- character
- character fragments
- fragments
- source field
- source
- 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
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/2468—Fuzzy 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Fuzzy Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Automation & Control Theory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种数据库索引查找方法、装置及用户终端。该方法包括:接收查询指令,所述查询指令包括待查字符片段和查询符;根据所述待查字符片段,从分片段数据存储表中匹配出对应的一个或多个字符片段,并根据所述字符片段对应得到一个或多个主键;根据一个或多个所述主键,从源表中匹配出对应的一条或多条源字段内容的记录。本发明通过把需要查找的数据拆分为数据小片段,然后和源表关联,在查询的时候通过后置通配符的方式,解决前置通配符模式使用Like查询导致全表扫描的问题,提高查询性能。
Description
技术领域
本发明涉及计算机软件技术,尤其涉及数据库查找技术。
背景技术
数据库在使用LIKE查询的时候,尤其是SQL数据库,前置%通配符(如:‘%abc’)将无法使用索引,会导致全表扫描,引起性能问题。目前都是通过全文搜索解决这个问题,全文搜索不但实施复杂,而且应用程序开发使用的很多ORM不支持全文搜索语法,即使支持,使用起来也很麻烦。
发明内容
为了克服现有技术的不足,本发明的目的之一在于提供一种数据库索引查找方法,其能解决无法使用索引的问题。
本发明的目的之二在于提供一种数据库索引查找装置,其能解决无法使用索引的问题。
本发明的目的之三在于提供一种用户终端,其能解决无法使用索引的问题。
为了实现上述目的之一,本发明所采用的技术方案如下:
一种数据库索引查找方法,其特征在于,包括以下步骤:
接收查询指令,所述查询指令包括待查字符片段和查询符;
根据所述待查字符片段,从分片段数据存储表中匹配出对应的一个或多个字符片段,并根据所述字符片段对应得到一个或多个主键;
根据一个或多个所述主键,从源表中匹配出对应的一条或多条源字段内容的记录;
其中,所述分片段数据存储表包括字符片段与主键的对应关系;所述源表包括主键与源字段内容的对应关系;分片段数据存储表中的多个字符片段由预设规则对每一个源字段内容拆分得到,由同一个源字段内容拆分得到的多个字符片段对应关联的主键相同。
优选的,所述查询符为SQL通配符。
优选的,所述查询符连接在待查字符片段后。
优选的,所述数据库为SQL数据库。
优选的,所述预设规则为从左到右或从右到左对源字段内容中依次删除一个字符,每删除一次,得到对应的一个字符片段。
为了实现上述目的之二,本发明所采用的技术方案如下:
一种数据库索引查找装置,其特征在于,包括以下模块:
接收模块,用于接收查询指令,所述查询指令包括待查字符片段和查询符;
查询模块,用于根据所述待查字符片段,从分片段数据存储表中匹配出对应的一个或多个字符片段,并根据所述字符片段对应得到一个或多个主键;
匹配模块,用于根据一个或多个所述主键,从源表中匹配出对应的一条或多条源字段内容的记录;
其中,所述分片段数据存储表包括字符片段与主键的对应关系;所述源表包括主键与源字段内容的对应关系;分片段数据存储表中的多个字符片段由预设规则对每一个源字段内容拆分得到,由同一个源字段内容拆分得到的多个字符片段对应关联的主键相同。
优选的,所述查询符连接在待查字符片段后。
优选的,所述数据库为SQL数据库。
优选的,所述预设规则为从左到右或从右到左对源字段内容中依次删除一个字符,每删除一次,得到对应的一个字符片段。
为了实现上述目的之三,本发明所采用的技术方案如下:
一种用户终端,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于运行所述程序指令,以执行以下步骤:
接收查询指令,所述查询指令包括待查字符片段和查询符;
根据所述待查字符片段,从分片段数据存储表中匹配出对应的一个或多个字符片段,并根据所述字符片段对应得到一个或多个主键;
根据一个或多个所述主键,从源表中匹配出对应的一条或多条源字段内容的记录;
其中,所述分片段数据存储表包括字符片段与主键的对应关系;所述源表包括主键与源字段内容的对应关系;分片段数据存储表中的多个字符片段由预设规则对每一个源字段内容拆分得到,由同一个源字段内容拆分得到的多个字符片段对应关联的主键相同。
优选的,所述查询符为SQL通配符。
优选的,所述查询符连接在待查字符片段后。
优选的,所述数据库为SQL数据库。
优选的,所述预设规则为从左到右或从右到左对源字段内容中依次删除一个字符,每删除一次,得到对应的一个字符片段。
相比现有技术,本发明的有益效果在于:
通过把需要查找的数据(即源字段内容)拆分为数据小片段(即字符片段),然后和源表关联,在查询的时候通过后置通配符的方式,解决前置通配符模式使用Like查询导致全表扫描的问题,提高查询性能。
附图说明
图1为本发明实施例一的数据库索引查找方法的流程图;
图2为本发明的预设规则的示意图;
图3为本发明实施例二的数据库索引查找装置的结构示意图;
图4为本发明实施例三的用户终端的结构示意图;
图5为本发明源表的示意图;
图6为本发明分片段数据存储表的示意图;
图7为本发明执行代码后显示的表单内容示意图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述:
实施例一
如图1所示,一种数据库索引查找方法,其包括以下步骤:
步骤S1、接收查询指令,所述查询指令包括待查字符片段和查询符;
步骤S2、根据所述待查字符片段,从分片段数据存储表中匹配出对应的一个或多个字符片段,并根据所述字符片段对应得到一个或多个主键;
步骤S3、根据一个或多个所述主键,从源表中匹配出对应的一条或多条源字段内容的记录;
步骤S4、将对应的主键、匹配出来的源字段内容和匹配出来的字符片段三者进行对应关联显示。
其中,所述分片段数据存储表包括字符片段与主键的对应关系;所述源表包括主键与源字段内容的对应关系;分片段数据存储表中的多个字符片段由预设规则对每一个源字段内容拆分得到,由同一个源字段内容拆分得到的多个字符片段对应关联的主键相同。
本实施例的数据库为SQL数据库。所述查询符为SQL通配符,SQL通配符一般包括如表1所示。所述查询符连接在待查字符片段后(如abc%)。
表1
本实施例采用后置通配符%的方式为例进行索引检索说明。
所述预设规则为从左到右或从右到左对源字段内容中依次删除一个字符,每删除一次,得到对应的一个字符片段。预设规则示例如图2所示,以从左到右为例,对源字段内容Hudecova Crescent进行拆分,图2中每一行对应一个字符片段,并存储分片段数据存储表中。
实施例二
如图3所示,为与实施例一的方法流程一一对应形成的虚拟装置,即提供了一种数据库索引查找装置,其包括以下模块:
接收模块,用于接收查询指令,所述查询指令包括待查字符片段和查询符;
查询模块,用于根据所述待查字符片段,从分片段数据存储表中匹配出对应的一个或多个字符片段,并根据所述字符片段对应得到一个或多个主键;
匹配模块,用于根据一个或多个所述主键,从源表中匹配出对应的一条或多条源字段内容的记录;
关联模块,用于将对应的主键、匹配出来的源字段内容和匹配出来的字符片段三者进行对应关联显示。
其中,所述分片段数据存储表包括字符片段与主键的对应关系;所述源表包括主键与源字段内容的对应关系;分片段数据存储表中的多个字符片段由预设规则对每一个源字段内容拆分得到,由同一个源字段内容拆分得到的多个字符片段对应关联的主键相同。
实施例三
如图4所示,为了实现实施例一的方法流程,提供了一种实体装置,即一种用户终端,其包括:
存储器,用于存储程序指令;
处理器,用于运行所述程序指令,以执行以下步骤:
接收查询指令,所述查询指令包括待查字符片段和查询符;
根据所述待查字符片段,从分片段数据存储表中匹配出对应的一个或多个字符片段,并根据所述字符片段对应得到一个或多个主键;
根据一个或多个所述主键,从源表中匹配出对应的一条或多条源字段内容的记录;
将对应的主键、匹配出来的源字段内容和匹配出来的字符片段三者进行对应关联显示。
其中,所述分片段数据存储表包括字符片段与主键的对应关系;所述源表包括主键与源字段内容的对应关系;分片段数据存储表中的多个字符片段由预设规则对每一个源字段内容拆分得到,由同一个源字段内容拆分得到的多个字符片段对应关联的主键相同。
下面,以实际的计算机程序代码实现示例,对本发明进行具体说明。
如图5所示,查询源表[Person].[Address]中AddressLine1字段包含Crescent待查字符片段的数据记录,源表[Person].[Address]主键字段为AddressID。
如图6所示,以源表[Person].[Address]的主键AddressID 1对应的源字段内容1970 Napa Ct.进行拆分为示例,得到分片段数据存储表T_LiteralFragments。其他AddressID对应的源字段内容也进行同样的拆分。其中,SrcRefId为分片段数据存储表T_LiteralFragments的主键字段,Fragment为分片段数据存储表T_LiteralFragments的字符片段字段。分片段数据存储表T_LiteralFragments的主键与源表[Person].[Address]的主键对应关联。
根据执行以下代码,得到如图7所示表单。
SELECT A.AddressID,A.AddressLine1,B.Fragment
From[Person].[Address]AS A
INNER JOIN T_LiteralFragments AS B
ON A.AddressID=B.SrcRefId//源表主键与分片段数据存储表主键对应关联
AND B.Fragment LIKE‘Crescent%’//通过后置通配符%,在分片段数据存储表的Fragment字段中匹配含有Crescent待查字符片段的数据记录
ORDER BY A.AddressID
利用SQL通过后置%通配符的方式使用Like查询可以使用索引的特点,本实施例通过把需要使用前置%通配符查找的数据拆分为数据小片段,然后和源表关联,在查询的时候通过后置%通配符的方式,解决前置%通配符模式使用Like查询导致全表扫描的问题,提高查询性能。
对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。
Claims (10)
1.一种数据库索引查找方法,其特征在于,包括以下步骤:
接收查询指令,所述查询指令包括待查字符片段和查询符;
根据所述待查字符片段,从分片段数据存储表中匹配出对应的一个或多个字符片段,并根据所述字符片段对应得到一个或多个主键;
根据一个或多个所述主键,从源表中匹配出对应的一条或多条源字段内容的记录;
其中,所述分片段数据存储表包括字符片段与主键的对应关系;所述源表包括主键与源字段内容的对应关系;分片段数据存储表中的多个字符片段由预设规则对每一个源字段内容拆分得到,由同一个源字段内容拆分得到的多个字符片段对应关联的主键相同。
2.如权利要求1所述的数据库索引查找方法,其特征在于,所述查询符为SQL通配符。
3.如权利要求1所述的数据库索引查找方法,其特征在于,所述查询符连接在待查字符片段后。
4.如权利要求1所述的数据库索引查找方法,其特征在于,所述数据库为SQL数据库。
5.如权利要求1所述的数据库索引查找方法,其特征在于,所述预设规则为从左到右或从右到左对源字段内容中依次删除一个字符,每删除一次,得到对应的一个字符片段。
6.如权利要求1所述的数据库索引查找方法,其特征在于,在“根据一个或多个所述主键,从源表中匹配出对应的一条或多条源字段内容的记录”步骤之后,还有以下步骤:将对应的主键、匹配出来的源字段内容和匹配出来的字符片段三者进行对应关联显示。
7.一种数据库索引查找装置,其特征在于,包括以下模块:
接收模块,用于接收查询指令,所述查询指令包括待查字符片段和查询符;
查询模块,用于根据所述待查字符片段,从分片段数据存储表中匹配出对应的一个或多个字符片段,并根据所述字符片段对应得到一个或多个主键;
匹配模块,用于根据一个或多个所述主键,从源表中匹配出对应的一条或多条源字段内容的记录;
其中,所述分片段数据存储表包括字符片段与主键的对应关系;所述源表包括主键与源字段内容的对应关系;分片段数据存储表中的多个字符片段由预设规则对每一个源字段内容拆分得到,由同一个源字段内容拆分得到的多个字符片段对应关联的主键相同。
8.如权利要求7所述的数据库索引查找装置,其特征在于,在执行匹配模块之后,还执行关联模块:用于将对应的主键、匹配出来的源字段内容和匹配出来的字符片段三者进行对应关联显示。
9.一种用户终端,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于运行所述程序指令,以执行以下步骤:
接收查询指令,所述查询指令包括待查字符片段和查询符;
根据所述待查字符片段,从分片段数据存储表中匹配出对应的一个或多个字符片段,并根据所述字符片段对应得到一个或多个主键;
根据一个或多个所述主键,从源表中匹配出对应的一条或多条源字段内容的记录;
其中,所述分片段数据存储表包括字符片段与主键的对应关系;所述源表包括主键与源字段内容的对应关系;分片段数据存储表中的多个字符片段由预设规则对每一个源字段内容拆分得到,由同一个源字段内容拆分得到的多个字符片段对应关联的主键相同。
10.如权利要求9所述的用户终端,其特征在于,在“根据一个或多个所述主键,从源表中匹配出对应的一条或多条源字段内容的记录”步骤之后,还有以下步骤:将对应的主键、匹配出来的源字段内容和匹配出来的字符片段三者进行对应关联显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710277744.1A CN107169046A (zh) | 2017-04-25 | 2017-04-25 | 一种数据库索引查找方法、装置及用户终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710277744.1A CN107169046A (zh) | 2017-04-25 | 2017-04-25 | 一种数据库索引查找方法、装置及用户终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107169046A true CN107169046A (zh) | 2017-09-15 |
Family
ID=59812466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710277744.1A Pending CN107169046A (zh) | 2017-04-25 | 2017-04-25 | 一种数据库索引查找方法、装置及用户终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107169046A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109597810A (zh) * | 2018-11-21 | 2019-04-09 | 金色熊猫有限公司 | 一种任务切分方法、装置、介质及电子设备 |
CN110019211A (zh) * | 2017-11-27 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 关联索引的方法、装置和*** |
WO2020133185A1 (zh) * | 2018-12-28 | 2020-07-02 | 深圳市世强元件网络有限公司 | 电子元件配套资料查询方法、存储介质及终端 |
CN111538768A (zh) * | 2020-06-23 | 2020-08-14 | 平安国际智慧城市科技股份有限公司 | 基于n元模型的数据查询方法、装置、电子设备及介质 |
CN115114465A (zh) * | 2022-07-19 | 2022-09-27 | 重庆紫光华山智安科技有限公司 | 图像记录关联存储方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1983249A (zh) * | 2005-12-12 | 2007-06-20 | 徐文新 | 字符串规划存贮索引查找技术 |
CN103514217A (zh) * | 2012-06-30 | 2014-01-15 | 重庆新媒农信科技有限公司 | 检索应用中检索条件的关联提示处理方法及*** |
US8984102B2 (en) * | 2009-02-20 | 2015-03-17 | Gary Stephen Shuster | Registration and use of patterns defined by expressions as domain names |
-
2017
- 2017-04-25 CN CN201710277744.1A patent/CN107169046A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1983249A (zh) * | 2005-12-12 | 2007-06-20 | 徐文新 | 字符串规划存贮索引查找技术 |
US8984102B2 (en) * | 2009-02-20 | 2015-03-17 | Gary Stephen Shuster | Registration and use of patterns defined by expressions as domain names |
CN103514217A (zh) * | 2012-06-30 | 2014-01-15 | 重庆新媒农信科技有限公司 | 检索应用中检索条件的关联提示处理方法及*** |
Non-Patent Citations (1)
Title |
---|
运正佳等: ""支持带有通配符的字符串匹配算法"", 《计算机科学与探索》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110019211A (zh) * | 2017-11-27 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 关联索引的方法、装置和*** |
CN109597810A (zh) * | 2018-11-21 | 2019-04-09 | 金色熊猫有限公司 | 一种任务切分方法、装置、介质及电子设备 |
CN109597810B (zh) * | 2018-11-21 | 2021-11-09 | 金色熊猫有限公司 | 一种任务切分方法、装置、介质及电子设备 |
WO2020133185A1 (zh) * | 2018-12-28 | 2020-07-02 | 深圳市世强元件网络有限公司 | 电子元件配套资料查询方法、存储介质及终端 |
US11921770B2 (en) | 2018-12-28 | 2024-03-05 | Shenzhen Sekorm Component Network Co., Ltd | Electronic element supporting data inquiry method, storage medium and terminal |
CN111538768A (zh) * | 2020-06-23 | 2020-08-14 | 平安国际智慧城市科技股份有限公司 | 基于n元模型的数据查询方法、装置、电子设备及介质 |
CN115114465A (zh) * | 2022-07-19 | 2022-09-27 | 重庆紫光华山智安科技有限公司 | 图像记录关联存储方法、装置、设备及存储介质 |
CN115114465B (zh) * | 2022-07-19 | 2024-07-23 | 重庆紫光华山智安科技有限公司 | 图像记录关联存储方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107169046A (zh) | 一种数据库索引查找方法、装置及用户终端 | |
JP5575902B2 (ja) | クエリのセマンティックパターンに基づく情報検索 | |
CN103810224B (zh) | 信息持久化和查询方法及装置 | |
EP2605158A1 (en) | Mixed join of row and column database tables in native orientation | |
TWI536188B (zh) | 應用程式的查找方法與系統 | |
US10824677B2 (en) | Method and system for providing query suggestions | |
CN111400323B (zh) | 数据检索方法、***、设备及存储介质 | |
US10783153B2 (en) | Efficient internet protocol prefix match support on No-SQL and/or non-relational databases | |
US9378304B2 (en) | Searchable, mutable data structure | |
CN109902087A (zh) | 用于问答的数据处理方法及装置、服务器 | |
US20090055374A1 (en) | Method and apparatus for generating search keys based on profile information | |
CN104050157A (zh) | 歧义消解的方法和*** | |
US10565188B2 (en) | System and method for performing a pattern matching search | |
CN105574027B (zh) | 基于oltp/olap混合应用下多维度性能数据存储方法、装置及*** | |
CN104463460B (zh) | 用于网络数据投放的排期信息的处理方法及装置 | |
CN111858581A (zh) | 一种分页查询的方法、装置、存储介质和电子设备 | |
CN106202423A (zh) | 一种文件排序方法和设备 | |
CN101378562B (zh) | 移动通信终端地址簿的中文和拼音的相互查找方法 | |
CN104715068B (zh) | 一种生成文档索引的方法和装置以及一种搜索方法和装置 | |
Shin et al. | Semantic search for smart mobile devices | |
US9020995B2 (en) | Hybrid relational, directory, and content query facility | |
CN104462104A (zh) | 过滤方法和服务器 | |
CN105378710A (zh) | 识别搜索匹配和经改变的搜索结果 | |
CN103891244B (zh) | 一种进行数据存储和检索的方法及装置 | |
CN106933928A (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: 20170915 |