CN110362598A - 数据查询的方法、装置、存储介质及电子设备 - Google Patents
数据查询的方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN110362598A CN110362598A CN201910570294.4A CN201910570294A CN110362598A CN 110362598 A CN110362598 A CN 110362598A CN 201910570294 A CN201910570294 A CN 201910570294A CN 110362598 A CN110362598 A CN 110362598A
- Authority
- CN
- China
- Prior art keywords
- target
- time
- consuming
- index
- query
- 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.)
- Granted
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- 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/2453—Query optimisation
-
- 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/2457—Query processing with adaptation to user needs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及一种数据查询的方法、装置、存储介质及电子设备,首先接收数据查询请求信息,所述数据查询请求信息包括目标查询条件;然后确定与所述目标查询条件对应的目标索引,所述目标索引为所述目标查询条件下的多个索引中,根据所述目标查询条件的历史查询记录确定出的查询耗时最短的索引;其中,所述历史查询记录包括基于所述目标查询条件,利用所述目标查询条件下的不同索引进行查询时,每一索引对应的历史查询耗时;这样可以基于所述目标查询条件,利用所述目标索引查询数据。
Description
技术领域
本公开涉及数据查询领域,具体地,涉及一种数据查询的方法、装置、存储介质及电子设备。
背景技术
移动设备(如手机)管理者可以通过登录移动管理平台,对多个移动设备发布管理命令或管理策略(例如,可以通过移动管理平台控制移动设备锁屏),并且可以通过移动管理平台收集移动设备上报的信息并进行储存、管理,并将信息在平台上进行展示,而在对移动设备相关信息进行展示之前,需要先查询到满足目标查询条件的数据。
相关技术中,多采用系统默认的索引查询数据,但随着时间的推移,多个移动设备产生的信息会逐渐增多,导致数据存储的分布结构发生改变,现有的数据查询方法查询速度也会随之变慢,从而会降低用户体验。
发明内容
本公开的目的是提供一种数据查询的方法、装置、存储介质及电子设备。
第一方面,提供一种数据查询的方法,所述方法包括:接收数据查询请求信息,所述数据查询请求信息包括目标查询条件;确定与所述目标查询条件对应的目标索引,所述目标索引为所述目标查询条件下的多个索引中,根据所述目标查询条件的历史查询记录确定出的查询耗时最短的索引;其中,所述历史查询记录包括基于所述目标查询条件,利用所述目标查询条件下的不同索引进行查询时,每一索引对应的历史查询耗时;基于所述目标查询条件,利用所述目标索引查询数据。
可选地,所述方法还包括:获取基于所述目标查询条件,利用所述目标索引查询到数据所用的第一查询耗时;根据所述历史查询记录,获取所述目标索引对应的历史查询耗时;根据所述第一查询耗时及所述目标索引对应的历史查询耗时,确定所述目标索引对应的平均查询耗时;若所述第一查询耗时大于或者等于预设倍数的所述平均查询耗时,基于所述目标查询条件,利用多个所述索引中除所述目标索引之外的各个其它索引查询数据,并获取每个所述其它索引分别对应的第二查询耗时;根据所述第一查询耗时和所述第二查询耗时,确定耗时最短的索引为与所述目标查询条件对应的新的目标索引。
可选地,所述获取基于所述目标查询条件,利用所述目标索引查询到数据所用的第一查询耗时包括:获取基于所述目标查询条件,利用所述目标索引查询数据的查询结果;若所述查询结果表示查询到数据,获取查询到数据所用的第一查询耗时。
可选地,在所述确定耗时最短的索引为与所述目标查询条件对应的新的目标索引后,所述方法还包括:将所述新的目标索引,作为与所述目标查询条件对应的目标索引。
第二方面,提供一种数据查询的装置,所述装置包括:接收模块,用于接收数据查询请求信息,所述数据查询请求信息包括目标查询条件;第一确定模块,用于确定与所述目标查询条件对应的目标索引,所述目标索引为所述目标查询条件下的多个索引中,根据所述目标查询条件的历史查询记录确定出的查询耗时最短的索引;其中,所述历史查询记录包括基于所述目标查询条件,利用所述目标查询条件下的不同索引进行查询时,每一索引对应的历史查询耗时;数据查询模块,用于基于所述目标查询条件,利用所述目标索引查询数据。
可选地,所述装置还包括:第一获取模块,用于获取基于所述目标查询条件,利用所述目标索引查询到数据所用的第一查询耗时;第二获取模块,用于根据所述历史查询记录,获取所述目标索引对应的历史查询耗时;第二确定模块,用于根据所述第一查询耗时及所述目标索引对应的历史查询耗时,确定所述目标索引对应的平均查询耗时;第三获取模块,用于若所述第一查询耗时大于或者等于预设倍数的所述平均查询耗时,基于所述目标查询条件,利用多个所述索引中除所述目标索引之外的各个其它索引查询数据,并获取每个所述其它索引分别对应的第二查询耗时;第三确定模块,用于根据所述第一查询耗时和所述第二查询耗时,确定耗时最短的索引为与所述目标查询条件对应的新的目标索引。
可选地,所述第一获取模块,用于获取基于所述目标查询条件,利用所述目标索引查询数据的查询结果;若所述查询结果表示查询到数据,获取查询到数据所用的第一查询耗时。
可选地,所述装置还包括:第四确定模块,用于将所述新的目标索引,作为与所述目标查询条件对应的目标索引。
第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面所述方法的步骤。
第四方面,提供一种电子设备,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面所述方法的步骤。
通过上述技术方案,接收数据查询请求信息,所述数据查询请求信息包括目标查询条件;确定与所述目标查询条件对应的目标索引,所述目标索引为所述目标查询条件下的多个索引中,根据所述目标查询条件的历史查询记录确定出的查询耗时最短的索引;其中,所述历史查询记录包括基于所述目标查询条件,利用所述目标查询条件下的不同索引进行查询时,每一索引对应的历史查询耗时;基于所述目标查询条件,利用所述目标索引查询数据,也就是说,采用上述技术方案可以根据该目标查询条件确定出与之对应的查询耗时最短的目标索引,这样,在基于该目标查询条件,利用该目标索引查询数据时,可以提高数据查询的效率,进而提高用户体验。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据一示例性实施例示出的一种数据查询方法的流程图;
图2是根据一示例性实施例示出的一种索引更新方法的流程图;
图3是根据一示例性实施例示出的第一种数据查询装置的框图;
图4是根据一示例性实施例示出的第二种数据查询装置的框图;
图5是根据一示例性实施例示出的第三种数据查询装置的框图;
图6是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
本公开主要应用于根据用户输入的查询条件查询数据的场景中,在一种可能的应用场景中,可以通过移动管理平台对用户移动设备(如手机)上传的信息进行展示,而在进行展示之前,需要先在数据库中查询到待展示的数据,用户在登录该移动管理平台后,可以在数据查询界面中输入数据的查询条件,例如,可以在条件列表中选择满足需求的目标查询条件,也可以在输入框中输入该目标查询条件(例如,该目标查询条件可以为number=10010,表示查询10010号码发送至手机上的信息),这样,数据查询终端(可以理解为安装该移动管理平台的终端)可以将用户输入的该目标查询条件发送至服务器,现有技术中,服务器在接收到该目标查询条件后,可以获取与该目标查询条件对应的预先设置的默认索引,然后基于该默认索引生成查询语句(如SQL语句),并通过执行该查询语句,查询数据库中的相关数据表,然后返回查询结果,但是随着时间的推移,移动设备产生的信息会逐渐增多,现有的数据查询方法中,基于相同的数据查询条件会采用同样的默认索引查询数据,但随着移动设备产生的信息逐渐增多,采用同一索引查询数据的速率会明显变慢,这在降低数据查询效率的同时,也会降低用户体验。
为解决上述存在的问题,本公开提供一种数据查询的方法、装置、存储介质及电子设备,首先可以接收数据查询请求信息,该数据查询请求信息包括目标查询条件;然后在该目标查询条件下的多个索引中,根据该目标查询条件的历史查询记录确定出查询耗时最短的索引为与该目标查询条件对应的目标索引,最后基于该目标查询条件,利用该目标索引查询数据,其中,该历史查询记录包括基于该目标查询条件,利用该目标查询条件下的不同索引进行查询时,每一索引对应的历史查询耗时,也就是说,采用上述技术方案可以根据该目标查询条件确定出与之对应的查询耗时最短的目标索引,这样,在基于该目标查询条件,利用该目标索引查询数据时,可以提高数据查询的效率,进而提高用户体验。
图1是根据一示例性实施例示出的一种数据查询的方法的流程图,该方法可以应用于服务器,如图1所示,该方法包括以下步骤:
在步骤101中,接收数据查询请求信息,该数据查询请求信息包括目标查询条件。
在实际的应用场景中,在对移动设备产生的某些信息进行展示之前,需要在数据库中查询待展示的信息对应的相关数据,用户在登录移动管理平台后,可以在数据查询界面中输入数据的目标查询条件,安装该移动管理平台的数据查询终端在获取到用户输入的该目标查询条件后,可以向服务器发送包含该目标查询条件的数据查询请求信息,这样服务器可以接收到该数据查询终端发送的该数据查询请求信息。
其中,该目标查询条件可以为待展示的信息对应的号码(即为number类的条件)、信息产生的时间(即为time类的条件)、该信息对应的移动设备的标识信息(即为ID类的条件,如ID、名称等)以及信息内容(即为content类的条件)等,例如,如果想展示10010号码发送至移动设备的所有信息,该目标查询条件可以为“number=10010”,此时,该目标查询条件即为number类的条件;如果想展示在2019年6月1日移动设备产生的信息,该目标查询条件可以为“time=2019/6/1”,此时,该目标查询条件即为time类的条件;如果想展示信息内容为与话费相关的信息,该目标查询条件可以为“content=话费”,此时,该目标查询条件即为content类的条件,上述示例仅是举例说明,本公开对此不作限定。
在步骤102中,确定与该目标查询条件对应的目标索引,该目标索引为该目标查询条件下的多个索引中,根据该目标查询条件的历史查询记录确定出的查询耗时最短的索引。
其中,该多个索引可以包括时间索引(可以用idx_time表示)、号码索引(可以用idx_number表示)以及内容索引(可以用idx_content表示)等索引,在本公开中,一个该目标查询条件,可以对应上述多个预先设置的索引,并且不同的目标查询条件对应不同的默认索引,例如,对于number类的目标查询条件(如number=10010,number=10086等),对应的多个索引为:idx_number、idx_time以及idx_content,其中,idx_number为与number类的目标查询条件对应的默认索引;对于time类的目标查询条件(如time=2019/6/1),对应的多个索引为:idx_number、idx_time以及idx_content,其中,idx_time为与time类的目标查询条件对应的默认索引,对于content类的目标查询条件(如content=话费),对应的多个索引为:idx_number、idx_time以及idx_content,其中,idx_content为与content类的目标查询条件对应的默认索引,此处只是举例说明,本公开对此不作限定。
另外,该历史查询记录包括基于该目标查询条件,利用该目标查询条件下的不同索引进行查询时,每一索引对应的历史查询耗时,其中,该历史查询耗时可以包括多个,每个历史查询耗时分别对应不同的历史查询时刻,因此,在一种可能的实现方式中,在从多个索引中,根据该目标查询条件的历史查询记录确定出查询耗时最短的目标索引的过程中,可以获取该历史查询记录中每个索引分别对应的最近一次查询数据的耗时,然后选择最近一次查询数据的耗时最短的索引作为该目标索引。
示例地,假设该目标查询条件为“number=10010”,该历史查询记录中记录着基于该目标查询条件“number=10010”,利用idx_number索引最近一次查询数据的历史查询耗时为4.543秒,基于该目标查询条件“number=10010”,利用idx_time索引最近一次查询数据的历史查询耗时为1.345秒,基于该目标查询条件“number=10010”,利用idx_content索引最近一次查询数据的历史查询耗时为3.256秒,这样,根据该历史查询记录可以确定出查询耗时最短的索引为idx_time,进而可以确定与该目标查询条件“number=10010”对应的目标索引为idx_time,上述示例只是举例说明,本公开对此不作限定。
为便于快速获取到该目标索引,本公开还可以根据该目标查询条件的历史查询记录,将该目标查询条件对应的查询耗时最短的索引存储至第一数据表中,该第一数据表用于记录不同的查询条件分别对应的查询耗时最短的索引,因此,在另一种可能的实现方式中,服务器在接收到该目标查询条件后,可以首先在数据库的第一数据表中查询与该目标查询条件对应的该目标索引,若在该第一数据表中未查询到该目标索引,可以获取与该目标查询条件对应的默认索引,然后将该默认索引作为该目标索引。
示例地,继续以该目标查询条件为“number=10010”为例进行说明,假设预先设置的该目标查询条件“number=10010”的默认索引为“idx_number”,并且该第一数据表中记录着与该目标查询条件“number=10010”对应的查询耗时最短的索引为“index_time”,通过查询该第一数据表可以确定与该目标查询条件“number=10010”对应的目标索引为idx_time;若该第一数据表中未存储有与该目标查询条件“number=10010”对应的查询耗时最短的索引,通过查询该第一数据表确定该目标索引时,返回的查询结果为“未查询到”,此时,可以获取与该目标查询条件为“number=10010”对应的默认索引“idx_number”,并将该默认索引“idx_number”作为该目标查询条件“number=10010”对应的该目标索引,上述示例仅是举例说明,本公开对此不作限定。
在步骤103中,基于该目标查询条件,利用该目标索引查询数据。
在本步骤中,可以基于该目标查询条件,利用该目标索引生成查询语句,如SQL语句,然后通过执行该查询语句,查询数据库中的相关数据表,然后返回查询结果。
需要说明的是,本公开在基于该目标查询条件,利用该目标索引查询数据的过程中,可以根据基于该目标查询条件,利用该目标索引查询到数据所用的第一查询耗时,更新该目标查询条件对应的目标索引,示例地,可以通过图2所示的步骤更新该目标查询条件对应的目标索引,如图2所示,该步骤包括:
在步骤201中,获取基于该目标查询条件,利用该目标索引查询数据的查询结果。
其中,该查询结果可以包括查询到满足该目标查询条件的数据,或者未查询到满足该目标查询条件的数据。
在步骤202中,若该查询结果表示查询到数据,获取查询到数据所用的第一查询耗时。
考虑到实际的数据查询场景中,可能会存在基于该目标查询条件,利用该目标索引查询不到数据的情况出现,在这种情况下,也会返回一个数据查询耗时,但由于未查询到数据,该数据查询耗时对于更新目标索引不具有参考价值,因此,在获取基于该目标查询条件,利用该目标索引查询到数据所用的第一查询耗时的过程中,可以获取基于该目标查询条件,利用该目标索引查询数据的查询结果,若该查询结果表示查询到数据(例如,若返回的查询结果中数据的记录条数大于0),获取查询到数据所用的该第一查询耗时;若该查询结果表示未查询到数据(例如,返回的查询结果中数据的记录条数为0),可以将未查询到数据的查询过程所用的数据查询耗时排除掉。
在基于该目标查询条件,利用该目标索引查询数据的过程中,可以记录查询数据的查询开始时间和查询结束时间,然后计算查询结束时间和该查询开始时间的时间差值,该时间差值即为该第一查询耗时。
另外,在本公开一种可能的实现方式中,还可以将获取到的该第一查询耗时存入第二数据表中,具体地,可以以“conditions:index_time:select_time”这种表结构的形式在该第二数据表中存储该第一查询耗时,其中,conditions即为该目标查询条件,index_time即为该目标索引,select_time即为该第一查询耗时,并且下次再更新该目标索引时,可以将该第一查询耗时视为其中一个历史查询耗时,用以更新该目标索引对应的平均查询耗时。
在步骤203中,根据该历史查询记录,获取该目标索引对应的历史查询耗时。
如步骤102中的相关描述,该历史查询记录可以包括基于该目标查询条件,利用该目标查询条件下的不同索引进行查询时,每一索引对应的历史查询耗时,该历史查询耗时可以包括多个,每个历史查询耗时分别对应不同的历史查询时刻,因此,在本步骤中,可以获取该目标索引对应的多个历史查询时刻分别对应的历史查询耗时。
在步骤204中,根据该第一查询耗时及该目标索引对应的历史查询耗时,确定该目标索引对应的平均查询耗时。
示例地,在执行步骤203后,假设获取了使用该目标索引“idx_number”查询数据的最近99个历史查询时刻分别对应的该历史查询耗时,这样,可以根据当前利用该目标索引“idx_number”查询数据的该第一查询耗时,以及最近99个历史查询时刻分别对应的该历史查询耗时,计算该目标索引“idx_number”对应的该平均查询耗时,该平均查询耗时=(99个历史查询耗时+1个第一查询耗时)/100,此处只是举例说明,本公开对此不作限定。
需要说明的是,若该第一查询耗时大于或者等于预设倍数的该平均查询耗时(例如该第一查询耗时大于或者等于3倍的该平均查询耗时),可以确定当前利用该目标索引查询数据的查询耗时较长,为提高后续基于该目标查询条件查询数据的效率,可以通过执行步骤205至步骤206从该目标查询条件下的多个索引中重新确定查询耗时最短的目标索引。
在步骤205中,若该第一查询耗时大于或者等于预设倍数的该平均查询耗时,基于该目标查询条件,利用多个该索引中除该目标索引之外的各个其它索引查询数据,并获取每个该其它索引分别对应的第二查询耗时。
在步骤206中,根据该第一查询耗时和该第二查询耗时,确定耗时最短的索引为与该目标查询条件对应的新的目标索引。
示例地,假设当前的该目标查询条件为“number=10010”,该目标查询条件下的多个索引为“idx_number、idx_time以及idx_content”,其中,在执行步骤102后确定的该目标索引为idx_number,基于该目标查询条件“number=10010”,利用idx_number索引查询数据的该第一查询耗时为4秒,在确定该第一查询耗时大于或者等于预设倍数的该平均查询耗时后,基于该目标查询条件“number=10010”,利用idx_time索引查询数据的该第二查询耗时为2秒,基于该目标查询条件“number=10010”,利用idx_content索引查询数据的该第二查询耗时为3秒,这样,可以确定idx_number、idx_time以及idx_content三个索引中,基于该目标查询条件“number=10010”,利用idx_time索引查询数据的查询耗时最短,从而可以将idx_time索引确定为该目标查询条件“number=10010”对应的新的目标索引,上述示例只是举例说明,本公开对此不作限定。
在步骤207中,将该新的目标索引,作为与该目标查询条件对应的目标索引。
在确定耗时最短的索引为与该目标查询条件对应的新的目标索引后,可以将该新的目标索引,作为与该目标查询条件对应的目标索引,在一种可能的实现方式中,可以将该新的目标索引存储至该第一数据表中,以便下次基于该目标查询条件查询数据时,可以从该第一数据表中直接获取与该目标查询条件对应的该新的目标索引,从而基于该目标查询条件,利用该新的目标索引查询数据,以提高数据查询的速度。
其中,该第一数据表中通常可以以“conditions:index_time”这种表结构的形式存储各查询条件,以及各查询条件分别对应的查询耗时最短的索引,其中,conditions即为该查询条件,index_time即为与该查询条件对应的查询耗时最短的索引,这样,在将该新的目标索引存储至该第一数据表的过程中,若该第一数据表中已经存储有该目标查询条件及与该目标查询条件对应的耗时最短的索引,可以将该第一数据表中与该目标查询条件对应的耗时最短的索引替换为该新的目标索引;若该第一数据表中未存储有该目标查询条件及与该目标查询条件对应的耗时最短的索引,可以将该目标查询条件及该新的目标索引存入该第一数据表。
还需说明的是,本公开中提供的目标索引的更新步骤(如图2所示),可以在执行步骤103的过程中同步进行,也可以在执行步骤103后再执行图2所示的目标索引的更新步骤,本公开对此不作限定。
采用上述方法,可以根据该目标查询条件确定出与之对应的查询耗时最短的目标索引,这样,在基于该目标查询条件,利用该目标索引查询数据时,可以提高数据查询的效率,并且,在基于该目标查询条件,利用该目标索引查询数据的同时,也可以记录利用该目标索引查询到数据所用的第一查询耗时,并结合获取到的该目标索引对应的历史查询耗时更新该目标查询条件对应的目标索引,以便下次再查询满足该目标查询条件的数据时,可以利用更新后的目标索引查询数据,进一步提高数据查询的速度,从而提高用户的体验。
图3是根据一示例性实施例示出的一种数据查询装置的框图,如图3所示,该装置包括:
接收模块301,用于接收数据查询请求信息,该数据查询请求信息包括目标查询条件;
第一确定模块302,用于确定与该目标查询条件对应的目标索引,该目标索引为该目标查询条件下的多个索引中,根据该目标查询条件的历史查询记录确定出的查询耗时最短的索引;其中,该历史查询记录包括基于该目标查询条件,利用该目标查询条件下的不同索引进行查询时,每一索引对应的历史查询耗时;
数据查询模块303,用于基于该目标查询条件,利用该目标索引查询数据。
可选地,图4是根据图3所示实施例示出的一种数据查询装置的框图,如图4所示,该装置还包括:
第一获取模块304,用于获取基于该目标查询条件,利用该目标索引查询到数据所用的第一查询耗时;
第二获取模块305,用于根据该历史查询记录,获取该目标索引对应的历史查询耗时;
第二确定模块306,用于根据该第一查询耗时及该目标索引对应的历史查询耗时,确定该目标索引对应的平均查询耗时;
第三获取模块307,用于若该第一查询耗时大于或者等于预设倍数的该平均查询耗时,基于该目标查询条件,利用多个该索引中除该目标索引之外的各个其它索引查询数据,并获取每个该其它索引分别对应的第二查询耗时;
第三确定模块308,用于根据该第一查询耗时和该第二查询耗时,确定耗时最短的索引为与该目标查询条件对应的新的目标索引。
可选地,该第一获取模块304,用于获取基于该目标查询条件,利用该目标索引查询数据的查询结果;若该查询结果表示查询到数据,获取查询到数据所用的第一查询耗时。
可选地,图5是根据图4所示实施例示出的一种数据查询装置的框图,如图5所示,该装置还包括:
第四确定模块309,用于将该新的目标索引,作为与该目标查询条件对应的目标索引。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
采用上述装置,可以根据该目标查询条件确定出与之对应的查询耗时最短的目标索引,这样,在基于该目标查询条件,利用该目标索引查询数据时,可以提高数据查询的效率,进而提高用户体验。
图6是根据一示例性实施例示出的一种电子设备600的框图。例如,电子设备600可以被提供为一服务器。参照图6,电子设备600包括处理器622,其数量可以为一个或多个,以及存储器632,用于存储可由处理器622执行的计算机程序。存储器632中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器622可以被配置为执行该计算机程序,以执行上述的数据查询方法。
另外,电子设备600还可以包括电源组件626和通信组件650,该电源组件626可以被配置为执行电子设备600的电源管理,该通信组件650可以被配置为实现电子设备600的通信,例如,有线或无线通信。此外,该电子设备600还可以包括输入/输出(I/O)接口658。电子设备600可以操作基于存储在存储器632的操作系统,例如Windows ServerTM,Mac OSXTM,UnixTM,LinuxTM等等。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的数据查询方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器632,上述程序指令可由电子设备600的处理器622执行以完成上述的数据查询方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的数据查询方法的代码部分。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (10)
1.一种数据查询方法,其特征在于,所述方法包括:
接收数据查询请求信息,所述数据查询请求信息包括目标查询条件;
确定与所述目标查询条件对应的目标索引,所述目标索引为所述目标查询条件下的多个索引中,根据所述目标查询条件的历史查询记录确定出的查询耗时最短的索引;其中,所述历史查询记录包括基于所述目标查询条件,利用所述目标查询条件下的不同索引进行查询时,每一索引对应的历史查询耗时;
基于所述目标查询条件,利用所述目标索引查询数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取基于所述目标查询条件,利用所述目标索引查询到数据所用的第一查询耗时;
根据所述历史查询记录,获取所述目标索引对应的历史查询耗时;
根据所述第一查询耗时及所述目标索引对应的历史查询耗时,确定所述目标索引对应的平均查询耗时;
若所述第一查询耗时大于或者等于预设倍数的所述平均查询耗时,基于所述目标查询条件,利用多个所述索引中除所述目标索引之外的各个其它索引查询数据,并获取每个所述其它索引分别对应的第二查询耗时;
根据所述第一查询耗时和所述第二查询耗时,确定耗时最短的索引为与所述目标查询条件对应的新的目标索引。
3.根据权利要求2所述的方法,其特征在于,所述获取基于所述目标查询条件,利用所述目标索引查询到数据所用的第一查询耗时包括:
获取基于所述目标查询条件,利用所述目标索引查询数据的查询结果;
若所述查询结果表示查询到数据,获取查询到数据所用的第一查询耗时。
4.根据权利要求2或3所述的方法,其特征在于,在所述确定耗时最短的索引为与所述目标查询条件对应的新的目标索引后,所述方法还包括:
将所述新的目标索引,作为与所述目标查询条件对应的目标索引。
5.一种数据查询装置,其特征在于,所述装置包括:
接收模块,用于接收数据查询请求信息,所述数据查询请求信息包括目标查询条件;
第一确定模块,用于确定与所述目标查询条件对应的目标索引,所述目标索引为所述目标查询条件下的多个索引中,根据所述目标查询条件的历史查询记录确定出的查询耗时最短的索引;其中,所述历史查询记录包括基于所述目标查询条件,利用所述目标查询条件下的不同索引进行查询时,每一索引对应的历史查询耗时;
数据查询模块,用于基于所述目标查询条件,利用所述目标索引查询数据。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
第一获取模块,用于获取基于所述目标查询条件,利用所述目标索引查询到数据所用的第一查询耗时;
第二获取模块,用于根据所述历史查询记录,获取所述目标索引对应的历史查询耗时;
第二确定模块,用于根据所述第一查询耗时及所述目标索引对应的历史查询耗时,确定所述目标索引对应的平均查询耗时;
第三获取模块,用于若所述第一查询耗时大于或者等于预设倍数的所述平均查询耗时,基于所述目标查询条件,利用多个所述索引中除所述目标索引之外的各个其它索引查询数据,并获取每个所述其它索引分别对应的第二查询耗时;
第三确定模块,用于根据所述第一查询耗时和所述第二查询耗时,确定耗时最短的索引为与所述目标查询条件对应的新的目标索引。
7.根据权利要求6所述的装置,其特征在于,所述第一获取模块,用于获取基于所述目标查询条件,利用所述目标索引查询数据的查询结果;若所述查询结果表示查询到数据,获取查询到数据所用的第一查询耗时。
8.根据权利要求6或7所述的装置,其特征在于,所述装置还包括:
第四确定模块,用于将所述新的目标索引,作为与所述目标查询条件对应的目标索引。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-4中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-4中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910570294.4A CN110362598B (zh) | 2019-06-27 | 2019-06-27 | 数据查询的方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910570294.4A CN110362598B (zh) | 2019-06-27 | 2019-06-27 | 数据查询的方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110362598A true CN110362598A (zh) | 2019-10-22 |
CN110362598B CN110362598B (zh) | 2022-02-08 |
Family
ID=68215882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910570294.4A Active CN110362598B (zh) | 2019-06-27 | 2019-06-27 | 数据查询的方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110362598B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111046040A (zh) * | 2019-11-26 | 2020-04-21 | 北京达佳互联信息技术有限公司 | 确定索引的方法、装置、电子设备及存储介质 |
CN111723097A (zh) * | 2020-06-29 | 2020-09-29 | 深圳壹账通智能科技有限公司 | 应用程序接口配置方法、装置、计算机设备和存储介质 |
CN113626491A (zh) * | 2020-05-09 | 2021-11-09 | 杭州海康威视数字技术股份有限公司 | 一种数据查询方法、装置、分布式数据查询系统 |
CN113934755A (zh) * | 2021-09-26 | 2022-01-14 | 中国银行股份有限公司 | 数据查询方法和装置 |
WO2022252782A1 (zh) * | 2021-06-04 | 2022-12-08 | 跬云(上海)信息科技有限公司 | 云计算索引推荐方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156171A (zh) * | 2015-04-16 | 2016-11-23 | 中国人民解放军国防科学技术大学 | 一种面向虚拟资产数据的查询优化方法 |
US20170132286A1 (en) * | 2015-11-09 | 2017-05-11 | International Business Machines Corporation | Query hint management for a database management system |
US20170364554A1 (en) * | 2016-06-17 | 2017-12-21 | Sap Se | Cracking Page-Loadable Columns for In-Memory Data Management |
CN108021618A (zh) * | 2017-11-13 | 2018-05-11 | 北京天元创新科技有限公司 | 一种数据查询方法及系统 |
CN109241093A (zh) * | 2017-06-30 | 2019-01-18 | 华为技术有限公司 | 一种数据查询的方法、相关装置及数据库系统 |
CN109299219A (zh) * | 2018-08-31 | 2019-02-01 | 阿里巴巴集团控股有限公司 | 数据查询方法、装置、电子设备及计算机可读存储介质 |
CN109299143A (zh) * | 2018-11-28 | 2019-02-01 | 重庆邮电大学 | 基于Redis缓存的数据互操作测试知识库的知识快速索引方法 |
CN109656930A (zh) * | 2018-12-27 | 2019-04-19 | 广州华多网络科技有限公司 | 数据查询方法、装置及系统 |
-
2019
- 2019-06-27 CN CN201910570294.4A patent/CN110362598B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156171A (zh) * | 2015-04-16 | 2016-11-23 | 中国人民解放军国防科学技术大学 | 一种面向虚拟资产数据的查询优化方法 |
US20170132286A1 (en) * | 2015-11-09 | 2017-05-11 | International Business Machines Corporation | Query hint management for a database management system |
US20170364554A1 (en) * | 2016-06-17 | 2017-12-21 | Sap Se | Cracking Page-Loadable Columns for In-Memory Data Management |
CN109241093A (zh) * | 2017-06-30 | 2019-01-18 | 华为技术有限公司 | 一种数据查询的方法、相关装置及数据库系统 |
CN108021618A (zh) * | 2017-11-13 | 2018-05-11 | 北京天元创新科技有限公司 | 一种数据查询方法及系统 |
CN109299219A (zh) * | 2018-08-31 | 2019-02-01 | 阿里巴巴集团控股有限公司 | 数据查询方法、装置、电子设备及计算机可读存储介质 |
CN109299143A (zh) * | 2018-11-28 | 2019-02-01 | 重庆邮电大学 | 基于Redis缓存的数据互操作测试知识库的知识快速索引方法 |
CN109656930A (zh) * | 2018-12-27 | 2019-04-19 | 广州华多网络科技有限公司 | 数据查询方法、装置及系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111046040A (zh) * | 2019-11-26 | 2020-04-21 | 北京达佳互联信息技术有限公司 | 确定索引的方法、装置、电子设备及存储介质 |
CN113626491A (zh) * | 2020-05-09 | 2021-11-09 | 杭州海康威视数字技术股份有限公司 | 一种数据查询方法、装置、分布式数据查询系统 |
CN113626491B (zh) * | 2020-05-09 | 2023-08-04 | 杭州海康威视数字技术股份有限公司 | 一种数据查询方法、装置、分布式数据查询系统 |
CN111723097A (zh) * | 2020-06-29 | 2020-09-29 | 深圳壹账通智能科技有限公司 | 应用程序接口配置方法、装置、计算机设备和存储介质 |
WO2022252782A1 (zh) * | 2021-06-04 | 2022-12-08 | 跬云(上海)信息科技有限公司 | 云计算索引推荐方法及系统 |
CN113934755A (zh) * | 2021-09-26 | 2022-01-14 | 中国银行股份有限公司 | 数据查询方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110362598B (zh) | 2022-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110362598A (zh) | 数据查询的方法、装置、存储介质及电子设备 | |
CN109299110A (zh) | 数据查询方法、装置、存储介质和电子设备 | |
JP6106344B2 (ja) | 位置ベースのソフトウェア更新 | |
US20140156849A1 (en) | Map-reduce workflow processing apparatus and method, and storage media storing the same | |
CN108563770B (zh) | 一种基于场景的kpi及多维度网络数据清洗方法 | |
CN109299157A (zh) | 一种分布式大单表的数据导出方法及装置 | |
CN107046691B (zh) | 一种lte无线网络快速选址方法 | |
CN105868196A (zh) | 一种服务器端工业数据报表生成方法 | |
CN115660591A (zh) | 用于业务审批的流程配置方法、系统、电子设备及介质 | |
CN105868170A (zh) | 一种服务器端工业数据报表生成方法 | |
US9501548B2 (en) | Data updating method, system and device | |
CN104168174A (zh) | 一种传输信息的方法及装置 | |
CN113407560A (zh) | 更新消息处理方法、数据同步方法、配置信息配置方法 | |
CN107968798B (zh) | 一种网管资源标签获取方法、缓存同步方法、装置及系统 | |
CN110389817A (zh) | 多云系统的调度方法、装置和计算机程序产品 | |
CN101552695B (zh) | 一种跨多专业网的统一网络管理方法及系统 | |
EP3185592A1 (en) | Method and device for determining service area corresonding to clerk communication account | |
CN110750557A (zh) | 险企通道的管理方法及装置 | |
CN106293814A (zh) | 升级方法及装置 | |
CN104735237A (zh) | 一种路径预测方法及交互式语音应答ivr路径预测系统 | |
CN110099179B (zh) | 号码更新方法及装置 | |
CN103813034A (zh) | 一种业务实现的方法、终端及业务服务器 | |
CN105426978B (zh) | 一种业务并发性预测方法与预测系统 | |
CN105307263B (zh) | 个性化定位方法、装置与移动终端 | |
CN102063596B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |