CN109710635B - 用于数据库的处理方法、处理系统以及服务器组 - Google Patents
用于数据库的处理方法、处理系统以及服务器组 Download PDFInfo
- Publication number
- CN109710635B CN109710635B CN201811653360.6A CN201811653360A CN109710635B CN 109710635 B CN109710635 B CN 109710635B CN 201811653360 A CN201811653360 A CN 201811653360A CN 109710635 B CN109710635 B CN 109710635B
- Authority
- CN
- China
- Prior art keywords
- query statement
- query
- preset condition
- condition
- meeting
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种用于数据库的处理方法,包括:接收查询语句;在所述查询语句满足第一预设条件的情况下,确定所述查询语句是否满足第二预设条件,其中,所述查询语句满足第一预设条件包括所述数据库能够响应所述查询语句;以及在所述查询语句不满足所述第二预设条件的情况下,输出提示信息。
Description
技术领域
本公开涉及一种用于数据库的处理方法、一种用于数据库的处理系统以及一种服务器组。
背景技术
随着电子技术的快速发展,数据库应用于诸多场景,通过查询数据库能够获取数据库中所存储的不同业务的数据。在查询数据过程中,现有技术由于查询人员不够了解数据库底层的实现逻辑而使得查询人员所提交的查询语句不够合理,造成查询过程占用大量集群资源,使得查询效率低。因此,如何优化查询语句以提高查询效率成为亟需解决的问题。
发明内容
本公开的一个方面提供了一种用于数据库的处理方法,包括:接收查询语句,在所述查询语句满足第一预设条件的情况下,确定所述查询语句是否满足第二预设条件,其中,所述查询语句满足第一预设条件包括所述数据库能够响应所述查询语句,以及在所述查询语句不满足所述第二预设条件的情况下,输出提示信息。
可选地,上述方法还包括:在所述查询语句满足所述第二预设条件的情况下,响应所述查询语句,并且/或者在所述查询语句不满足所述第二预设条件的情况下,不响应所述查询语句。
可选地,上述提示信息包括:用于修改不满足所述第二预设条件的查询语句的修改信息,或者根据满足所述第一预设条件的查询语句获得的替换信息,其中,所述替换信息能够用于替换满足所述第一预设条件的查询语句得到满足所述第二预设条件的查询语句。
可选地,上述方法还包括:接收基于所述修改信息修改所述查询语句得到满足所述第二预设条件的查询语句,或者接收基于用户针对所述替换信息的选择操作得到满足所述第二预设条件的查询语句。
可选地,上述所述查询语句不满足所述第二预设条件,包括以下任意一项或多项:所述查询语句不包括查询条件,或在所述查询语句用于从包括多个分区表的数据表中查询数据时,所述查询语句未指示从所述多个分区表中的特定分区表中查询数据,或在所述查询语句用于关联查询多个数据表时,所述多个数据表中作为驱动表的数据表不满足特定条件。
可选地,上述在所述查询语句不满足所述第二预设条件的情况下,输出提示信息,包括以下任意一项或多项:在所述查询语句不包括查询条件的情况下,输出指示所述查询条件的提示信息,或在所述查询语句未指示从所述多个分区表中的特定分区表中查询数据,输出从所述多个分区表中指示特定分区表的提示信息,或在所述多个数据表中作为驱动表的数据表不满足特定条件时,输出包含符合所述特定条件的驱动表的提示信息。
本公开的另一个方面提供了一种用于数据库的处理系统,包括:第一接收模块、确定模块、输出模块。其中,第一接收模块接收查询语句,确定模块在所述查询语句满足第一预设条件的情况下,确定所述查询语句是否满足第二预设条件,其中,所述查询语句满足第一预设条件包括所述数据库能够响应所述查询语句,以及输出模块在所述查询语句不满足所述第二预设条件的情况下,输出提示信息。
可选地,上述系统还包括:第一响应模块、第二响应模块。其中,第一响应模块在所述查询语句满足所述第二预设条件的情况下,响应所述查询语句,并且/或者第二响应模块在所述查询语句不满足所述第二预设条件的情况下,不响应所述查询语句。
可选地,上述提示信息包括:用于修改不满足所述第二预设条件的查询语句的修改信息,或者根据满足所述第一预设条件的查询语句获得的替换信息,其中,所述替换信息能够用于替换满足所述第一预设条件的查询语句得到满足所述第二预设条件的查询语句。
可选地,上述系统还包括:第二接收模块、第三接收模块。其中,第二接收模块接收基于所述修改信息修改所述查询语句得到满足所述第二预设条件的查询语句,或者第三接收模块接收基于用户针对所述替换信息的选择操作得到满足所述第二预设条件的查询语句。
可选地,上述所述查询语句不满足所述第二预设条件,包括以下任意一项或多项:所述查询语句不包括查询条件,或在所述查询语句用于从包括多个分区表的数据表中查询数据时,所述查询语句未指示从所述多个分区表中的特定分区表中查询数据,或在所述查询语句用于关联查询多个数据表时,所述多个数据表中作为驱动表的数据表不满足特定条件。
可选地,上述在所述查询语句不满足所述第二预设条件的情况下,输出提示信息,包括以下任意一项或多项:在所述查询语句不包括查询条件的情况下,输出指示所述查询条件的提示信息,或在所述查询语句未指示从所述多个分区表中的特定分区表中查询数据,输出从所述多个分区表中指示特定分区表的提示信息,或在所述多个数据表中作为驱动表的数据表不满足特定条件时,输出包含符合所述特定条件的驱动表的提示信息。
本公开的另一个方面提供了一种服务器组,包括:一个或多个处理器,存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法。
本公开的另一方面提供了一种非易失性可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开实施例的用于数据库的处理方法和处理系统的应用场景;
图2示意性示出了根据本公开实施例的用于数据库的处理方法的流程图;
图3示意性示出了根据本公开另一实施例的用于数据库的处理方法的流程图;
图4示意性示出了根据本公开再一实施例的用于数据库的处理方法的流程图;
图5示意性示出了根据本公开实施例的用于数据库的处理系统的框图;
图6示意性示出了根据本公开另一实施例的用于数据库的处理系统的框图;
图7示意性示出了根据本公开再一实施例的用于数据库的处理系统的框图;以及
图8示意性示出了根据本公开实施例的用于数据库的处理的计算机系统的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。
因此,本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。在本公开的上下文中,计算机可读介质可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,计算机可读介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。计算机可读介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
本公开的实施例提供了一种用于数据库的处理方法,包括:接收查询语句,在查询语句满足第一预设条件的情况下,确定查询语句是否满足第二预设条件,其中,查询语句满足第一预设条件包括数据库能够响应查询语句,以及在查询语句不满足第二预设条件的情况下,输出提示信息。
可见,在本公开实施例的技术方案中,通过接收查询语句,在查询语句满足第一预设条件的情况下,确定查询语句是否满足第二预设条件,即,确定查询语句是否合理,在查询语句不满足第二预设条件的情况下,输出提示信息,以使得用户能够根据提示信息获取符合第二预设条件的查询语句(获取合理的查询语句),以此提高查询效率,节约查询资源。
图1示意性示出了根据本公开实施例的用于数据库的处理方法和处理系统的应用场景。需要注意的是,图1所示仅为可以应用本公开实施例的场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,该应用场景100例如可以包括查询语句110以及提示信息120。
通常地,从数据库中查询相应的数据,需要查询引擎根据查询语句110从数据库中查询,从而得到相应的数据。
例如,当查询引擎包括结构化查询语言(Structured Query Language,SQL)的情况下。查询语句110例如可以是相应的SQL查询语句,例如,查询语句110可以是“SelectA.table city=“Beijing”(表示从表A中获取数据“Beijing”)”。
根据本公开实施例,数据库接收到查询语句110后,能够通过词法解析判断查询语句110是否合理,在判断出查询语句110不合理的情况下,输出提示信息120,以便用户能够根据提示信息修改查询语句110。
例如,判断结果为查询语句缺少“where”条件,可能导致查询效率低,因此,输出的提示信息120可以是“该查询语句缺少“where”条件”,或者提示信息可以是合理的查询语句“SelectA.table where city=“Beijing”。
可以理解,上述举例仅为便于理解本公开实施例,查询语句不合理不仅限于缺少“where”条件,还可以是查询语句未指示分区表、查询语句的驱动表不合理等等。
本公开通过接收查询语句,确定查询语句是否合理,在查询语句不不合理的情况下,输出提示信息,以使得用户能够根据提示信息获取合理的查询语句,以此提高查询效率,节约查询资源。
图2示意性示出了根据本公开实施例的用于数据库的处理方法的流程图。
如图2所示,该方法包括操作S210~S230。
在操作S210,接收查询语句。
在本公开实施例中,查询语句可以是用于查询数据库中的相关数据的语句,通过查询语句可以查询到相关的数据。其中,查询语句可以是多种查询引擎对应的语句,查询引擎例如可以包括但不仅限于Hive SQL、Spark SQL、Presto、Kylin等等。
在操作S220,在查询语句满足第一预设条件的情况下,确定查询语句是否满足第二预设条件,其中,查询语句满足第一预设条件包括数据库能够响应查询语句。
根据本公开的实施例,查询语句满足第一预设条件例如可以是该查询语句满足查询条件,即,数据库能够响应该查询语句并能够给出相应的数据,换言之,满足第一预设条件的查询语句应该是无书写错误或者无逻辑错误的查询语句。
在本公开实施例中,第二预设条件例如可以是逻辑较为合理,即,满足第二预设条件的查询语句为逻辑合理的查询语句,数据库能够快速响应该满足第二预设条件的查询语句,使得查询效率,节省查询资源。
根据本公开实施例,在查询语句满足第一预设条件的情况下,进一步确定查询语句是否满足第二预设条件。即,在查询语句正确的情况下,进一步判断该查询语句逻辑是否合理。在逻辑合理的情况下,数据库能够快速响应查询语句得到相应的数据,提高查询效率,在逻辑不合理的情况下,数据库也能够响应查询语句得到相应的数据,只是响应速度较慢,查询过程占用大量资源。
其中,可以利用词法解析器分析查询语句,以确定查询语句是否满足第二预设条件。例如,可以基于Hive SQL、Spark SQL、Presto、Kylin等不同引擎原生词法解析对从查询语句进行解析,以确定查询语句是否满足第二预设条件。
在操作S230,在查询语句不满足第二预设条件的情况下,输出提示信息。
根据本公开的实施例,在查询语句不满足第二预设条件的情况下,表明该查询语句逻辑不够合理,数据库对该不满足的第二预设条件的查询语句的响应速度慢,查询过程可能占用大量资源,此时,输出提示信息,提示信息能够用于提示用户该查询语句逻辑不合理,该提示信息还能够用于指导用户修改查询语句,使得修改后的查询语句逻辑合理。
在本公开实施例中,提示信息包括以下至少一种。
(1)用于修改不满足第二预设条件的查询语句的修改信息。
根据本公开实施例,提示信息可以是修改信息,该修改信息可以包括查询语句逻辑不合理的具体情况,以告知用户查询语句不合理之处。该提示信息还可以包括如何修改查询语句的相关信息,用户能够根据该信息修改不合理的查询语句,以此得到合理的查询。
(2)根据满足第一预设条件的查询语句获得的替换信息,其中,替换信息能够用于替换满足第一预设条件的查询语句得到满足第二预设条件的查询语句。
根据本公开实施例,提示信息还可以是替换信息,该替换信息可以是修改后的查询语句,即将满足第一预设条件的查询语句修改成较合理查询语句,该较合理的查询语句作为替换信息,用户可以直接将该替换信息替换满足第一预设条件的查询语句得到满足第二预设条件的查询语句,换言之,该替换信息可以是直接提供给用户的满足第二预设条件的查询语句。
根据本公开实施例,查询语句不满足第二预设条件,包括以下任意一项或多项:
(1)查询语句不包括查询条件。
根据本公开实施例,例如查询条件可以是“where”条件,查询语句不满足第二预设条件,可以是查询语句不包含“where”,此时,不包含“where”条件的查询语句逻辑不够合理或严谨,使得查询性能低。
(2)在查询语句用于从包括多个分区表的数据表中查询数据时,查询语句未指示从多个分区表中的特定分区表中查询数据。
根据本公开实施例,数据库中数据表通常包括多个分区表,在查询语句用于查询数据表中的数据时,如果查询语句未指示具体的分区表,表明查询语句不满足第二预设条件,此时,数据库在响应该查询语句时,需要遍历所有分区表,使得查询效率低。如果查询语句指示从多个分区表中的特定分区表查询数据,则数据库在响应查询语句时,仅需从该特定分区表中查询数据,提高查询效率。
为了便于理解,以下做出举例。例如,当数据表“销售表”包括“2017年销售表”、“2018年销售表”等等,如果用户需要查询2018年2月份的销售情况时,如果查询语句未指示将“2018年销售表”为特定分区表时,数据库在响应查询语句时,需要从“2017年销售表”、“2018年销售表”等等所有表中查询相关数据,此时,执行不满足第二预设条件的查询语句造成查询效率低。
(3)在查询语句用于关联查询多个数据表时,多个数据表中作为驱动表的数据表不满足特定条件。
根据本公开实施例,在关联查询多个数据表时,通常需要将多个数据表中的一个数据表作为驱动表,其中,该驱动表越小(表的数据记录数越少),查询速度越快。其中,驱动表不满足特定条件,包括驱动表的记录数大小在关联查询的多个数据表中不是最小。
例如,可以调用元数据获取多个数据表的每个数据表的记录数,以此判断驱动表的记录数是否为多个数据表中最小。
根据本公开实施例,在查询语句不满足第二预设条件的情况下,输出提示信息,包括以下任意一项或多项:
(1)在查询语句不包括查询条件的情况下,输出指示查询条件的提示信息。
根据本公开实施例,在查询语句不包含查询条件的情况下,例如不包括“where”条件的情况下,输出指示查询条件的提示信息,或者可以直接输出包括查询条件的查询语句,用户可以根据包括查询条件的查询语句得到满足第二预设条件的查询语句。
(2)在查询语句未指示从多个分区表中的特定分区表中查询数据,输出从多个分区表中指示特定分区表的提示信息。
在本公开实施例中,在数据表包括多个分区表时,确定查询语句是否从多个分区表中指示特定分区表,当查询语句未指示特定分区表时,输出提示用户指定分区表的提示信息,或者可以直接根据查询语句确定出特定分区表,并且将包含特定分区表的提示信息输出至用户,使得用户能够根据提示信息确定特定分区表。
(3)在多个数据表中作为驱动表的数据表不满足特定条件时,输出包含符合特定条件的驱动表的提示信息。
根据本公开实施例,在驱动表不满足特定条件时,例如驱动表的记录数大小在关联查询的多个数据表中不是最小时,可以从多个数据表中确定符合特定条件的驱动表,并将包括符合特定条件的驱动表的提示信息输出至用户,以使得用户能够根据提示信息得到满足特定条件的驱动表。
本公开通过接收查询语句,在查询语句满足第一预设条件的情况下,确定查询语句是否满足第二预设条件,即,确定查询语句是否合理,在查询语句不满足第二预设条件的情况下,输出提示信息,以使得用户能够根据提示信息获取符合第二预设条件的查询语句(获取合理的查询语句),以此提高查询效率,节约查询资源。
图3示意性示出了根据本公开另一实施例的用于数据库的处理方法的流程图。
如图3所示,该方法包括操作S210~S230以及还包括操作S310并且/或者操作S320。其中,操作S210~S230如上参考图2所描述的操作相同或类似,在此不再赘述。
在操作S310,在查询语句满足第二预设条件的情况下,响应查询语句。
根据本公开实施例,在查询语句满足第二预设条件的情况下,例如查询语句逻辑合理的情况下,数据库可以直接响应该查询语句,以基于查询语句查询到相应的数据。
在操作S320,在查询语句不满足第二预设条件的情况下,不响应查询语句。
根据本公开实施例,在查询语句不满足第二预设条件的情况下,数据库不响应该查询语句,即使该查询语句满足第一预设条件,并且数据库能够响应该满足第一预设条件的查询语句,但是如果响应该满足第一预设条件的查询语句可能会造成查询效率低,占用查询资源量大,因此,在查询语句不满足第二预设条件的情况下,不响应查询语句,而是输出提示信息。
图4示意性示出了根据本公开再一实施例的用于数据库的处理方法的流程图;
如图4所示,该方法包括操作S210~S230以及还包括操作S410或者操作S420。其中,操作S210~S230如上参考图2所描述的操作相同或类似,在此不再赘述。
其中,在查询语句不满足第二预设条件的情况下,输出提示信息,提示信息包括修改信息或替换信息。
在操作S410,接收基于修改信息修改查询语句得到满足第二预设条件的查询语句。
根据本公开实施例,该修改信息可以包括查询语句逻辑不合理的具体情况,以告知用户查询语句不合理之处。数据库可以接收用户基于该修改信息修改满足第一预设条件的查询语句得到满足第二预设条件的查询语句,并执行接收到的满足第二预设条件的查询语句。
在操作S420,接收基于用户针对替换信息的选择操作得到满足第二预设条件的查询语句。
根据本公开实施例,提示信息还可以是替换信息,该替换信息可以是修改后的查询语句,用户可以选择或点击该替换信息得到满足第二预设条件的查询语句,数据库可以接收该满足第二预设条件的查询语句,并执行接收到的满足第二预设条件的查询语句。
本公开还提供了一种服务器组,包括一个或多个处理器以及存储装置。存储装置用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现:接收查询语句,在查询语句满足第一预设条件的情况下,确定查询语句是否满足第二预设条件,其中,查询语句满足第一预设条件包括数据库能够响应查询语句,以及在查询语句不满足第二预设条件的情况下,输出提示信息。具体地,本公开实施例的服务器组能够实现如图1-4所描述的方法,在此不再赘述。
图5示意性示出了根据本公开实施例的用于数据库的处理系统的框图。
如图5所示,用于数据库的处理系统500包括第一接收模块510、确定模块520以及输出模块530。
第一接收模块510可以用于接收查询语句。根据本公开实施例,第一接收模块510例如可以执行上文参考图2描述的操作S210,在此不再赘述。
确定模块520可以用于在查询语句满足第一预设条件的情况下,确定查询语句是否满足第二预设条件,其中,查询语句满足第一预设条件包括数据库能够响应查询语句。根据本公开实施例,确定模块520例如可以执行上文参考图2描述的操作S220,在此不再赘述。
输出模块530可以用于在查询语句不满足第二预设条件的情况下,输出提示信息。
根据本公开实施例,提示信息包括:用于修改不满足第二预设条件的查询语句的修改信息,或者根据满足第一预设条件的查询语句获得的替换信息,其中,替换信息能够用于替换满足第一预设条件的查询语句得到满足第二预设条件的查询语句。
根据本公开实施例,上述查询语句不满足第二预设条件,包括以下任意一项或多项:查询语句不包括查询条件,或在查询语句用于从包括多个分区表的数据表中查询数据时,查询语句未指示从多个分区表中的特定分区表中查询数据,或在查询语句用于关联查询多个数据表时,多个数据表中作为驱动表的数据表不满足特定条件。
根据本公开实施例,上述在查询语句不满足第二预设条件的情况下,输出提示信息,包括以下任意一项或多项:在查询语句不包括查询条件的情况下,输出指示查询条件的提示信息,或在查询语句未指示从多个分区表中的特定分区表中查询数据,输出从多个分区表中指示特定分区表的提示信息,或在多个数据表中作为驱动表的数据表不满足特定条件时,输出包含符合特定条件的驱动表的提示信息。
根据本公开实施例,输出模块530例如可以执行上文参考图2描述的操作S230,在此不再赘述。
图6示意性示出了根据本公开另一实施例的用于数据库的处理系统的框图。
如图6所示,用于数据库的处理系统600包括第一接收模块510、确定模块520、输出模块530、第一响应模块610以及第二响应模块620。其中,第一接收模块510、确定模块520以及输出模块530如上参考图5所描述的模块相同或类似,在此不再赘述。
第一响应模块610可以用于在查询语句满足第二预设条件的情况下,响应查询语句。根据本公开实施例,第一响应模块610例如可以执行上文参考图3描述的操作S310,在此不再赘述。
第二响应模块620可以用于在查询语句不满足第二预设条件的情况下,不响应查询语句。根据本公开实施例,第二响应模块620例如可以执行上文参考图3描述的操作S320,在此不再赘述。
图7示意性示出了根据本公开再一实施例的用于数据库的处理系统的框图。
如图7所示,用于数据库的处理系统700包括第一接收模块510、确定模块520、输出模块530、第一响应模块610、第二响应模块620、第二接收模块710以及第三接收模块720。其中,第一接收模块510、确定模块520、输出模块530、第一响应模块610以及第二响应模块620如上参考图6所描述的模块相同或类似,在此不再赘述。
第二接收模块710可以用于接收基于修改信息修改查询语句得到满足第二预设条件的查询语句。根据本公开实施例,第二接收模块710例如可以执行上文参考图4描述的操作S410,在此不再赘述。
第三接收模块720可以用于接收基于用户针对替换信息的选择操作得到满足第二预设条件的查询语句。根据本公开实施例,第三接收模块720例如可以执行上文参考图4描述的操作S420,在此不再赘述。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或同件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一接收模块510、确定模块520、输出模块530、第一响应模块610、第二响应模块620、第二接收模块710以及第三接收模块720中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一接收模块510、确定模块520、输出模块530、第一响应模块610、第二响应模块620、第二接收模块710以及第三接收模块720中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一接收模块510、确定模块520、输出模块530、第一响应模块610、第二响应模块620、第二接收模块710以及第三接收模块720中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图8示意性示出了根据本公开实施例的用于数据库的处理的计算机系统的方框图。图8示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,实现用于数据库的处理的计算机系统800包括处理器801、计算机可读存储介质802。该系统800可以执行根据本公开实施例的方法。
具体地,处理器801例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器801还可以包括用于缓存用途的板载存储器。处理器801可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质802,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
计算机可读存储介质802可以包括计算机程序803,该计算机程序803可以包括代码/计算机可执行指令,其在由处理器801执行时使得处理器801执行根据本公开实施例的方法或其任何变形。
计算机程序803可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序803中的代码可以包括一个或多个程序模块,例如包括803A、模块803B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器801执行时,使得处理器801可以执行根据本公开实施例的方法或其任何变形。
根据本发明的实施例,第一接收模块510、确定模块520、输出模块530、第一响应模块610、第二响应模块620、第二接收模块710以及第三接收模块720中的至少一个可以实现为参考图8描述的计算机程序模块,其在被处理器801执行时,可以实现上面描述的相应操作。
本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现:
一种用于数据库的处理方法,包括:接收查询语句,在查询语句满足第一预设条件的情况下,确定查询语句是否满足第二预设条件,其中,查询语句满足第一预设条件包括数据库能够响应查询语句,以及在查询语句不满足第二预设条件的情况下,输出提示信息。
根据本公开的实施例,上述方法还包括:在查询语句满足第二预设条件的情况下,响应查询语句,并且/或者在查询语句不满足第二预设条件的情况下,不响应查询语句。
根据本公开的实施例,上述提示信息包括:用于修改不满足第二预设条件的查询语句的修改信息,或者根据满足第一预设条件的查询语句获得的替换信息,其中,替换信息能够用于替换满足第一预设条件的查询语句得到满足第二预设条件的查询语句。
根据本公开的实施例,上述方法还包括:接收基于修改信息修改查询语句得到满足第二预设条件的查询语句,或者接收基于用户针对替换信息的选择操作得到满足第二预设条件的查询语句。
根据本公开的实施例,上述查询语句不满足第二预设条件,包括以下任意一项或多项:查询语句不包括查询条件,或在查询语句用于从包括多个分区表的数据表中查询数据时,查询语句未指示从多个分区表中的特定分区表中查询数据,或在查询语句用于关联查询多个数据表时,多个数据表中作为驱动表的数据表不满足特定条件。
根据本公开的实施例,上述在查询语句不满足第二预设条件的情况下,输出提示信息,包括以下任意一项或多项:在查询语句不包括查询条件的情况下,输出指示查询条件的提示信息,或在查询语句未指示从多个分区表中的特定分区表中查询数据,输出从多个分区表中指示特定分区表的提示信息,或在多个数据表中作为驱动表的数据表不满足特定条件时,输出包含符合特定条件的驱动表的提示信息。
根据本公开的实施例,计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线、光缆、射频信号等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
Claims (10)
1.一种用于数据库的处理方法,包括:
接收查询语句;
在所述查询语句满足第一预设条件的情况下,确定所述查询语句是否满足第二预设条件,其中,所述查询语句满足第一预设条件包括所述数据库能够响应所述查询语句得到查询结果,满足第一预设条件的查询语句包括无书写错误或者无逻辑错误的查询语句;
在所述查询语句不满足所述第二预设条件的情况下,输出提示信息,所述数据库能够响应不满足所述第二预设条件的查询语句得到查询结果,所述不满足所述第二预设条件包括逻辑正确但逻辑的合理性较低的查询语句;以及
基于所述提示信息得到满足第二预设条件的查询语句,以便基于满足第二预设条件的查询语句得到查询结果;
其中,在所述查询语句不满足所述第二预设条件的情况下,输出提示信息包括:在所述查询语句用于关联查询多个数据表时,所述多个数据表中作为驱动表的数据表的记录数在多个数据表中不是最小的情况下,输出提示信息,所述提示信息用于表征将多个数据表中记录数最小的数据表作为驱动表;
其中,所述数据库基于满足第二预设条件的查询语句得到查询结果的查询速度比基于不满足第二预设条件的查询语句得到查询结果的查询速度快,所述数据库基于满足第二预设条件的查询语句得到查询结果的查询资源比基于不满足第二预设条件的查询语句得到查询结果的查询资源少。
2.根据权利要求1所述的方法,还包括:
在所述查询语句满足所述第二预设条件的情况下,响应所述查询语句;并且/或者
在所述查询语句不满足所述第二预设条件的情况下,不响应所述查询语句。
3.根据权利要求1所述的方法,其中,所述提示信息包括:
用于修改不满足所述第二预设条件的查询语句的修改信息;或者
根据满足所述第一预设条件的查询语句获得的替换信息,其中,所述替换信息能够用于替换满足所述第一预设条件的查询语句得到满足所述第二预设条件的查询语句。
4.根据权利要求3所述的方法,还包括:
接收基于所述修改信息修改所述查询语句得到满足所述第二预设条件的查询语句;或者
接收基于用户针对所述替换信息的选择操作得到满足所述第二预设条件的查询语句。
5.根据权利要求1所述的方法,其中,所述查询语句不满足所述第二预设条件,包括以下任意一项或多项:
所述查询语句不包括查询条件;或
在所述查询语句用于从包括多个分区表的数据表中查询数据时,所述查询语句未指示从所述多个分区表中的特定分区表中查询数据。
6.根据权利要求5所述的方法,所述在所述查询语句不满足所述第二预设条件的情况下,输出提示信息,包括以下任意一项或多项:
在所述查询语句不包括查询条件的情况下,输出指示所述查询条件的提示信息;或
在所述查询语句未指示从所述多个分区表中的特定分区表中查询数据,输出从所述多个分区表中指示特定分区表的提示信息。
7.一种用于数据库的处理系统,包括:
第一接收模块,接收查询语句;
确定模块,在所述查询语句满足第一预设条件的情况下,确定所述查询语句是否满足第二预设条件,其中,所述查询语句满足第一预设条件包括所述数据库能够响应所述查询语句得到查询结果,满足第一预设条件的查询语句包括无书写错误或者无逻辑错误的查询语句;
输出模块,在所述查询语句不满足所述第二预设条件的情况下,输出提示信息,所述数据库能够响应不满足所述第二预设条件的查询语句得到查询结果,所述不满足所述第二预设条件包括逻辑正确但逻辑的合理性较低的查询语句;以及
基于所述提示信息得到满足第二预设条件的查询语句,以便基于满足第二预设条件的查询语句得到查询结果;
其中,在所述查询语句不满足所述第二预设条件的情况下,输出提示信息包括:在所述查询语句用于关联查询多个数据表时,所述多个数据表中作为驱动表的数据表的记录数在多个数据表中不是最小的情况下,输出提示信息,所述提示信息用于表征将多个数据表中记录数最小的数据表作为驱动表;
其中,所述数据库基于满足第二预设条件的查询语句得到查询结果的查询速度比基于不满足第二预设条件的查询语句得到查询结果的查询速度快,所述数据库基于满足第二预设条件的查询语句得到查询结果的查询资源比基于不满足第二预设条件的查询语句得到查询结果的查询资源少。
8.根据权利要求7所述的系统,还包括:
第一响应模块,在所述查询语句满足所述第二预设条件的情况下,响应所述查询语句;并且/或者
第二响应模块,在所述查询语句不满足所述第二预设条件的情况下,不响应所述查询语句。
9.根据权利要求7所述的系统,其中,所述提示信息包括:
用于修改不满足所述第二预设条件的查询语句的修改信息;或者
根据满足所述第一预设条件的查询语句获得的替换信息,其中,所述替换信息能够用于替换满足所述第一预设条件的查询语句得到满足所述第二预设条件的查询语句。
10.一种服务器组,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现根据权利要求1~6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811653360.6A CN109710635B (zh) | 2018-12-29 | 2018-12-29 | 用于数据库的处理方法、处理系统以及服务器组 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811653360.6A CN109710635B (zh) | 2018-12-29 | 2018-12-29 | 用于数据库的处理方法、处理系统以及服务器组 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109710635A CN109710635A (zh) | 2019-05-03 |
CN109710635B true CN109710635B (zh) | 2021-03-19 |
Family
ID=66259792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811653360.6A Active CN109710635B (zh) | 2018-12-29 | 2018-12-29 | 用于数据库的处理方法、处理系统以及服务器组 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109710635B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101021874A (zh) * | 2007-03-21 | 2007-08-22 | 金蝶软件(中国)有限公司 | 一种对查询sql请求进行优化的方法及装置 |
CN102375826A (zh) * | 2010-08-13 | 2012-03-14 | 中国移动通信集团公司 | Sql脚本解析方法、装置及系统 |
CN104199881A (zh) * | 2014-08-21 | 2014-12-10 | 广州华多网络科技有限公司 | 数据库集群、数据查询方法、数据同步方法和装置 |
CN104391995A (zh) * | 2014-12-15 | 2015-03-04 | 北京趣拿软件科技有限公司 | 一种sql语句审核的方法、数据库运维的方法及系统 |
CN104504114A (zh) * | 2014-12-30 | 2015-04-08 | 杭州华为数字技术有限公司 | 基于多哈希表的关系操作优化方法、装置和系统 |
CN105989137A (zh) * | 2015-02-27 | 2016-10-05 | 中国移动通信集团河北有限公司 | 一种结构化查询语言性能优化方法及系统 |
CN106156168A (zh) * | 2015-04-16 | 2016-11-23 | 华为技术有限公司 | 在跨分区数据库中查询数据的方法及跨分区查询装置 |
CN108959454A (zh) * | 2018-06-15 | 2018-12-07 | 上海达梦数据库有限公司 | 一种提示子句指定方法、装置、设备及存储介质 |
-
2018
- 2018-12-29 CN CN201811653360.6A patent/CN109710635B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101021874A (zh) * | 2007-03-21 | 2007-08-22 | 金蝶软件(中国)有限公司 | 一种对查询sql请求进行优化的方法及装置 |
CN102375826A (zh) * | 2010-08-13 | 2012-03-14 | 中国移动通信集团公司 | Sql脚本解析方法、装置及系统 |
CN104199881A (zh) * | 2014-08-21 | 2014-12-10 | 广州华多网络科技有限公司 | 数据库集群、数据查询方法、数据同步方法和装置 |
CN104391995A (zh) * | 2014-12-15 | 2015-03-04 | 北京趣拿软件科技有限公司 | 一种sql语句审核的方法、数据库运维的方法及系统 |
CN104504114A (zh) * | 2014-12-30 | 2015-04-08 | 杭州华为数字技术有限公司 | 基于多哈希表的关系操作优化方法、装置和系统 |
CN105989137A (zh) * | 2015-02-27 | 2016-10-05 | 中国移动通信集团河北有限公司 | 一种结构化查询语言性能优化方法及系统 |
CN106156168A (zh) * | 2015-04-16 | 2016-11-23 | 华为技术有限公司 | 在跨分区数据库中查询数据的方法及跨分区查询装置 |
CN108959454A (zh) * | 2018-06-15 | 2018-12-07 | 上海达梦数据库有限公司 | 一种提示子句指定方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109710635A (zh) | 2019-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108549683B (zh) | 数据查询方法以及系统 | |
CN111339041B (zh) | 文件解析入库、文件生成方法及装置 | |
US20170220647A1 (en) | Pluggable architecture for embedding analytics in clustered in-memory databases | |
CN111026568B (zh) | 数据和任务关系构建方法、装置、计算机设备及存储介质 | |
US20160034272A1 (en) | Managing a catalog of scripts | |
US8965797B2 (en) | Explosions of bill-of-materials lists | |
CN110727869A (zh) | 页面构建方法及装置 | |
US20140380147A1 (en) | Loading a web page | |
US20100017352A1 (en) | Enhancing performance of a constraint solver across individual processes | |
CN111782673A (zh) | 数据的处理方法、装置、计算设备和介质 | |
US9201897B1 (en) | Global data storage combining multiple back-end storage devices | |
CN111831713A (zh) | 一种数据处理方法、装置及设备 | |
US10872085B2 (en) | Recording lineage in query optimization | |
US10032204B2 (en) | System and method for synthetic ideation | |
CN114090608A (zh) | 数据报表的生成方法及装置 | |
CN109710635B (zh) | 用于数据库的处理方法、处理系统以及服务器组 | |
US11250002B2 (en) | Result set output criteria | |
CN111177089B (zh) | 日志处理代码的生成方法和装置、计算机系统和存储介质 | |
KR101772333B1 (ko) | 이종 NoSQL 데이터베이스들간의 지능적 조인 전략 제공 방법 및 시스템 | |
CN109101641B (zh) | 表格处理方法、装置、系统和介质 | |
CN115543317A (zh) | 前端页面开发方法及装置 | |
CN113468169B (zh) | 硬件数据库查询方法、数据库系统查询方法及装置 | |
CN115291872A (zh) | 数据处理方法及电子设备和存储介质 | |
CN110837414A (zh) | 任务处理方法和装置 | |
CN114547086A (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 |