CN108182215B - 一种结构化查询语言sql性能统计的方法及装置 - Google Patents

一种结构化查询语言sql性能统计的方法及装置 Download PDF

Info

Publication number
CN108182215B
CN108182215B CN201711403391.1A CN201711403391A CN108182215B CN 108182215 B CN108182215 B CN 108182215B CN 201711403391 A CN201711403391 A CN 201711403391A CN 108182215 B CN108182215 B CN 108182215B
Authority
CN
China
Prior art keywords
sql
information
segmented
performance
log information
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
Application number
CN201711403391.1A
Other languages
English (en)
Other versions
CN108182215A (zh
Inventor
邱帅兵
任文越
王崇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Weimeng Chuangke Network Technology China Co Ltd
Original Assignee
Weimeng Chuangke Network Technology China Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Weimeng Chuangke Network Technology China Co Ltd filed Critical Weimeng Chuangke Network Technology China Co Ltd
Priority to CN201711403391.1A priority Critical patent/CN108182215B/zh
Publication of CN108182215A publication Critical patent/CN108182215A/zh
Application granted granted Critical
Publication of CN108182215B publication Critical patent/CN108182215B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities

Abstract

本发明实施例提供了一种结构化查询语言SQL性能统计的方法及装置,该方法包括:获取SQL类型的日志信息,所述日志信息包括SQL语句和所述SQL语句的执行性能信息;针对每一条日志信息,解析所述SQL语句,根据预定分割字符,对所述SQL语句进行分割,得到分割后的SQL语句;将分割后的SQL语句作为性能统计列表的第一索引信息,依据所述第一索引信息,将当前日志信息中的SQL语句的执行性能信息存储至所述性能统计列表;根据所述性能统计列表中存储的当前日志信息中的SQL语句的执行性能信息,统计当前日志信息中的SQL语句的性能数据。通过本发明,实现了快速、高效地对SQL语句进行性能统计,精确地查找出发生现异常问题的SQL语句。

Description

一种结构化查询语言SQL性能统计的方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种结构化查询语言SQL性能统计的方法及装置。
背景技术
目前,业务系统中通常会划分多个模块,每个模块中都会有数据的存取操作,通常该方式下的数据的存取操作是通过调用外部接口或者数据库操作语句来实现的。由于在调用外部接口或者进行数据库操作的过程中会有一些不确定性,导致不能确定外部接口或者数据库操作对业务系统性能的影响,因此,需要对外部接口或者数据库操作进行监控,如监控对外部接口或者数据库操作的运行时间等,当监控发现时间异常时,能够及时通知开发和运维的人员进行维护解决问题,以提高业务系统的性能。
现有技术中,对业务系统的监控通常是通过日志信息来实现的,然而由于日志是不间断的产生,并且外部接口或者数据库操作的日志是海量的,一个接口或者一条数据库操作会由于参数的变化而不断的被调用或者执行。因此,如果想要对外部接口和数据库操作进行监控,就必须解决由于参数的改变,使得外部接口和数据库操作语句会有多种形式出现的问题。
外部接口的调用所产生的日志信息相对来说是比较容易处理的,因为HTTP(HyperText Transfer Protocol,超文本传输协议)接口URL(Uniform Resource Locator,统一资源定位符)的参数和主干部分是通过问号分开的,所以要想监控统计HTTP接口的日志信息,只需要将问号之后的参数过滤掉,将过滤后的URL作为索引,统计相对应的监控信息即可。然而,数据库操作语句的日志信息处理就没有这么简单了,因为SQL数据库的操作语句参数是不定向的,SQL语句的操作符有很多种,如何将SQL语句进行归并是相当复杂的一个问题。对SQL性能监控最主要的是对SQL日志信息进行统计,对SQL性能统计最主要的是对SQL语句进行参数去重归并。现有技术中对SQL语句进行归并的方法主要有两种,一种是Antlr4(ANother Tool for Language Recognition)语法分析器对SQL语句的语法解析出参数,参数统一化后归并;另外一种是利用算法解析SQL语句的相似度,对高相似度的SQL语句进行归并。例如:SQL语句1:select*from table where a=1 and b=2;和SQL语句2:select*from table where a=3 and b=4;根据Antlr4语法分析器的方法,首先分析SQL语句1和2的语法,然后解析出参数‘1’、‘2’、‘3’和‘4’,随后将各参数统一替换成‘*’,替换后的SQL语句为:select*from table where a=*and b=*;随后,对该条SQL语句的性能统计就比较方便了,只需将参数化后的SQL语句作为索引即可;通过算法对SQL语句求相似度的方法为:将SQL语句作为字符串,算法计算出字符串的一个value值,例如算法计算SQL语句1的value值是107987321023,计算SQL语句2的value值是107987321123,那么求其相似度102587955066/107987321123,可以得出相似度为95%,那么说明这两条SQL语句相似,随后对其归并统计。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:一方面,Antlr语法分析器虽然能够非常准确的解析出SQL语句的参数,但是它必须要嵌套到项目中使用才能实现对SQL语句的解析,由于Antlr本身包含很多的语法解析,嵌套项目中会出现冗余,使项目更加繁琐;另一方面,算法对SQL语句求相似度的方法,对参数比较少并且参数的长度比较短的SQL语句进行解析是比较准确的,但是由于参数的个数和参数的长度是不可控和未知的,如果遇到参数较多和参数长度较长的SQL语句将会出现解析不准确,因此,就无法完全归并相似的SQL语句,对SQL语句监控不能起到很好的效果。
发明内容
本发明实施例提供一种结构化查询语言SQL性能统计的方法及装置,实现了快速、精确地查找出发生现异常问题的SQL语句。
一方面,本发明实施例提供了一种结构化查询语言SQL性能统计的方法,包括:
获取SQL类型的日志信息,所述日志信息包括SQL语句和所述SQL语句的执行性能信息;
针对每一条日志信息,解析当前日志信息中的SQL语句,根据预定分割字符,对所述SQL语句中进行分割,得到分割后的SQL语句;
将分割后的SQL语句作为性能统计列表的第一索引信息,依据所述第一索引信息,将所述当前日志信息中的SQL语句的执行性能信息存储至所述性能统计列表;
根据所述性能统计列表中存储的所述当前日志信息中的SQL语句的执行性能信息,统计所述当前日志信息中的SQL语句的性能数据。
另一方面,本发明实施例提供了一种结构化查询语言SQL性能统计的装置,包括:
获取单元,用于获取SQL类型的日志信息,所述日志信息包括SQL语句和所述SQL语句的执行性能信息;
解析及分割单元,用于针对每一条日志信息,解析当前日志信息中的SQL语句,根据预定分割字符,将所述SQL语句进行分割,得到分割后的SQL语句;
存储单元,用于将分割后的SQL语句作为性能统计列表的第一索引信息,依据所述第一索引信息,将所述当前日志信息中的SQL语句的执行性能信息存储至所述性能统计列表;
统计单元,用于根据所述性能统计列表中存储的所述当前日志信息中的SQL语句的执行性能信息,统计所述当前日志信息中的SQL语句的性能数据。
上述技术方案具有如下有益效果:实现了高效简单地对每一条日志信息中的SQL语句进行解析并分割,解决了当SQL语句中参数较多和/或参数长度较长时,无法正确地解析SQL语句中的参数,从而无法正确地去除SQL语句中多余参数的问题,实现了方便对SQL语句的性能进行统计;同时,将执行SQL语句性能信息存储至性能统计列表,实现了快速、高效地对SQL语句进行性能统计,从而能够快速、精确地查找出发生现异常问题的SQL语句。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例中一种结构化查询语言SQL性能统计的方法流程图;
图2为本发明另一实施例中一种结构化查询语言SQL性能统计的装置结构示意图;
图3为本发明一优选实施例中结构化查询语言SQL性能统计工作流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明一实施例中一种结构化查询语言SQL性能统计的方法流程图,包括:
101、获取SQL类型的日志信息,所述日志信息包括SQL语句和所述SQL语句的执行性能信息;
102、针对每一条日志信息,解析当前日志信息中的SQL语句,根据预定分割字符,对所述SQL语句进行分割,得到分割后的SQL语句;
103、将分割后的SQL语句作为性能统计列表的第一索引信息,依据所述第一索引信息,将所述当前日志信息中的SQL语句的执行性能信息存储至所述性能统计列表;
104、根据所述性能统计列表中存储的所述当前日志信息中的SQL语句的执行性能信息,统计所述当前日志信息中的SQL语句的性能数据。
优选地,所述针对每一条日志信息,解析当前日志信息中的SQL语句,根据预定分割字符,对所述SQL语句进行分割,得到分割后的SQL语句,包括:
针对每一条日志信息中的SQL语句,将当前日志信息中的SQL语句作为待分割SQL语句,并执行如下步骤:
步骤A、依据预定的查找规则,在待分割SQL语句中查找各个预定分割字符;
步骤B、若查找到预定分割字符时,以查找到的预定分割字符为分割界线,对待分割SQL语句进行分割,将待分割SQL语句中查找到的预定分割字符之前的SQL语句内容作为下一次进行分割的待分割SQL语句;
步骤C、针对下一次进行分割的待分割SQL语句,跳转执行步骤A,直至未查找到任一预定分割字符,将所述未查找到任一预定分割字符对应的待分割SQL语句作为所述分割后的SQL语句;
其中,所述预定分割字符包括SQL语言中的各个操作符、赋值关键字和比较关键字。
优选地,所述性能统计列表以分割后的SQL语句作为第一索引信息,以日志信息中未分割的原始SQL语句、及其性能信息列表作为所述第一索引信息对应的第一统计字段内容;
其中,未分割的原始SQL语句的性能信息列表以执行所述未分割的原始SQL语句的时间段作为第二索引信息,以所述未分割的原始SQL语句的执行性能信息作为所述第二索引信息对应的第二统计字段内容;
其中,所述执行性能信息包括执行所述未分割的原始SQL语句的最长消耗时间、执行所述未分割的原始SQL语句的最短消耗时间和在各个预定耗时阶段执行所述未分割的原始SQL语句的次数。
优选地,所述将分割后的SQL语句作为性能统计列表的第一索引信息,依据所述第一索引信息,将所述当前日志信息中的SQL语句的执行性能信息存储至性能统计列表,具体包括:
判断所述性能统计列表中是否已存在以所述分割后的SQL语句作为第一索引信息的存储记录;
若不存在,在所述性能统计列表中创建一条存储记录,所述创建的存储记录以所述分割后的SQL语句作为第一索引信息,以所述当前日志信息中未分割的原始SQL语句、及其性能信息列表作为所述第一索引信息对应的第一统计字段内容,并以执行所述未分割的原始SQL语句的时间段作为第二索引信息,以所述未分割的原始SQL语句的执行性能信息作为所述第二索引信息对应的第二统计字段内容;
若存在,依据所述当前日志信息中未分割的原始SQL语句的执行性能信息,确定所述性能统计列表中该第一索引信息的存储记录对应的第二索引信息,使用所述当前日志信息中未分割的原始SQL语句的执行性能信息,更新所述性能统计列表中确定出的第二索引信息对应的第二统计字段内容。
可选地,还包括:
将所述性能统计列表中的数据转换为预定文件格式,以实现通过预定文件格式的文件存储所述数据;
通过人机交互界面,接收用户的数据请求指令;
基于网络接口,向用户返回所述预定文件格式的文件中与所述数据请求指令相匹配的请求结果数据;
通过人机交互界面展示所述请求结果数据。
如图2所示,为本发明另一实施例中一种结构化查询语言SQL性能统计的装置结构示意图,包括:
获取单元21,用于获取SQL类型的日志信息,所述日志信息包括SQL语句和所述SQL语句的执行性能信息;
解析及分割单元22,用于针对每一条日志信息,解析当前日志信息中的SQL语句,根据预定分割字符,对所述SQL语句进行分割,得到分割后的SQL语句;
存储单元23,用于将分割后的SQL语句作为性能统计列表的第一索引信息,依据所述第一索引信息,将所述当前日志信息中的SQL语句的执行性能信息存储至所述性能统计列表;
统计单元24,用于根据所述性能统计列表中存储的所述当前日志信息中的SQL语句的执行性能信息,统计所述当前日志信息中的SQL语句的性能数据。
优选地,所述获取单元,包括:
针对每一条日志信息中的SQL语句,将当前日志信息中的SQL语句作为待分割SQL语句,并执行如下模块:
模块A,用于依据预定的查找规则,在待分割SQL语句中查找各个预定分割字符;
模块B,用于若查找到预定分割字符时,以查找到的预定分割字符为分割界线,对待分割SQL语句进行分割,将待分割SQL语句中查找到的预定分割字符之前的SQL语句内容作为下一次进行分割的待分割SQL语句;
模块C,用于针对下一次进行分割的待分割SQL语句,跳转执行模块A,直至未查找到任一预定分割字符,将所述未查找到任一预定分割字符对应的待分割SQL语句作为所述分割后的SQL语句;
其中,所述预定分割字符包括SQL语言中的各个操作符、赋值关键字和比较关键字。
优选地,所述性能统计列表以分割后的SQL语句作为第一索引信息,以日志信息中未分割的原始SQL语句、及其性能信息列表作为所述第一索引信息对应的第一统计字段内容;
其中,未分割的原始SQL语句的性能信息列表以执行所述未分割的原始SQL语句的时间段作为第二索引信息,以所述未分割的原始SQL语句的执行性能信息作为所述第二索引信息对应的第二统计字段内容;
其中,所述执行性能信息包括执行所述未分割的原始SQL语句的最长消耗时间、执行所述未分割的原始SQL语句的最短消耗时间和在各个预定耗时阶段执行所述未分割的原始SQL语句的次数。
优选地,所述存储单元,包括:
判断模块,用于判断所述性能统计列表中是否已存在以所述分割后的SQL语句作为第一索引信息的存储记录;
创建模块,用于若不存在,在所述性能统计列表中创建一条存储记录,所述创建的存储记录以所述分割后的SQL语句作为第一索引信息,以所述当前日志信息中未分割的原始SQL语句、及其性能信息列表作为所述第一索引信息对应的第一统计字段内容,并以执行所述未分割的原始SQL语句的时间段作为第二索引信息,以所述未分割的原始SQL语句的执行性能信息作为所述第二索引信息对应的第二统计字段内容;
确定模块,用于若存在,依据所述当前日志信息中未分割的原始SQL语句的执行性能信息,确定所述性能统计列表中该第一索引信息的存储记录对应的第二索引信息,使用所述当前日志信息中未分割的原始SQL语句的执行性能信息,更新所述性能统计列表中确定出的第二索引信息对应的第二统计字段内容。
可选地,还包括:
转换单元,用于将所述性能统计列表中的数据转换为预定文件格式,以实现通过预定文件格式的文件存储所述数据;
接收单元,用于通过人机交互界面,接收用户的数据请求指令;
返回单元,用于基于网络接口,向用户返回所述预定文件格式的文件中与所述数据请求指令相匹配的请求结果数据;
展示单元,用于通过人机交互界面展示所述请求结果数据。
本发明实施例上述技术方案具有如下有益效果:实现了高效简单地对每一条日志信息中的SQL语句进行解析并分割,解决了当SQL语句中参数较多和/或参数长度较长时,无法正确地解析SQL语句中的参数,从而无法正确地去除SQL语句中多余参数的问题,实现了方便对SQL语句的性能进行统计;同时,将执行SQL语句性能信息存储至性能统计列表,实现了快速、高效地对SQL语句进行性能统计,从而能够快速、精确地查找出发生现异常问题的SQL语句。
以下结合应用实例对本发明实施例上述技术方案进行详细说明:
本发明应用实例旨在实现快速、精确地查找出发生现异常问题的SQL语句。
如图1所示,其中,所述执行性能信息包括执行所述未分割的原始SQL语句的最长消耗时间、执行所述未分割的原始SQL语句的最短消耗时间和在各个预定耗时阶段执行所述未分割的原始SQL语句的次数;所述预定分割字符包括SQL语言中的各个操作符、赋值关键字和比较关键字。在SQL性能统计平台A中,实时获取SQL类型的日志信息,所述日志信息包括SQL语句和所述SQL语句的执行性能信息;针对每一条日志信息,如日志信息msg1,解析日志信息msg1中的SQL语句,如“select*from table where a>1 and b=2”,根据预定分割字符,如“>”和“=”,对所述SQL语句进行分割,得到分割后的SQL语句,如“select*fromtable where a”,将分割后的SQL语句作为第一索引信息存储至性能统计列表,如map,随后,依据所述第一索引信息“select*from table where a”,将日志信息msg1中的SQL语句“select*from table where a>1 and b=2”的执行性能信息存储至性能统计列表map,随后,根据性能统计列表map中存储的当前日志信息msg1中的SQL语句的执行性能信息,统计当前日志信息msg1中的SQL语句的性能数据。
需要说明的是,本领域技术人员可以理解,本发明中通过预定分割字符对SQL语句进行分割就能够将SQL语句中的各个参数分割开,即实现了对SQL语句中的各个参数进行分割,从而为后续去除SQL语句中的多余参数提供了必要的前提保障。
在一优选实施例中,步骤102所述针对每一条日志信息,解析所述日志信息中的SQL语句,根据预定分割字符,对所述SQL语句进行分割,得到分割后的SQL语句,包括:针对每一条日志信息中的SQL语句,将当前日志信息中的SQL语句作为待分割SQL语句,并执行如下步骤:
步骤A、依据预定的查找规则,在待分割SQL语句中查找各个预定分割字符;
步骤B、若查找到预定分割字符时,以查找到的预定分割字符为分割界线,对待分割SQL语句进行分割,将待分割SQL语句中查找到的预定分割字符之前的SQL语句内容作为下一次进行分割的待分割的SQL语句;
步骤C、针对下一次进行分割的待分割的SQL语句,跳转执行步骤A,直至未查找到任一预定分割字符,将所述未查找到任一预定分割字符对应的待分割SQL语句作为分割后的SQL语句。
例如,预定分割字符包括‘=’、‘>’、‘<’、‘BETWEEN’、‘LIKE’、‘IS’、‘%’、‘IN’和‘VALUES’等SQL语言中的各个操作符、赋值关键字和比较关键字。预定的查找规则,如预定的查找规则Rule1如下:设置预定分割字符中每一个字符的查找顺序,如若预定分割字符为‘=’、‘>’、‘<’、‘BETWEEN’、‘LIKE’、‘IS’、‘%’、‘IN’和‘VALUES’,查找顺序为依次顺序查找‘=’、‘>’、‘<’、‘BETWEEN’、‘LIKE’、‘IS’、‘%’、‘IN’和‘VALUES’,在待分割SQL语句中依次根据不区分英文大小写的方式查找每个预定分割字符;若首次查找到任一预定分割字符时,根据所述查找顺序,在待分割SQL语句中查找下一个预定分割字符。在SQL性能统计平台A中,针对每一条日志信息,如日志信息msg1,在日志信息msg1中的SQL语句,如“select*from table where a>1 and b=2”,将SQL语句“select*from table where a>1 and b=2”作为待分割SQL语句,并执行如下步骤:依据预定的查找规则Rule1,在待分割SQL语句“select*from table where a>1 and b=2”中查找各个预定分割字符;按照查找顺序首先查找到预定分割字符“=”,以查找到的预定分割字符“=”首次出现的位置为分割界线,对待分割SQL语句“select*from table where a>1 and b=2”进行分割,将待分割SQL语句“select*from table where a>1 and b=2”中查找到的首次出预定分割字符“=”之前的SQL语句内容“select*from table where a>1 and b”作为下一次进行分割的待分割的SQL语句;针对下一次进行分割的待分割的SQL语句“select*from table where a>1 and b”,依据预定的查找规则Rule1依据预定的查找规则,在待分割SQL语句中查找预定分割字符“>”,以查找到的预定分割字符“>”为分割界线,对待分割SQL语句“select*from tablewhere a>1 and b”进行分割,将待分割SQL语句“select*from table where a>1 and b”中查找到的预定分割字符“>”之前的SQL语句内容“select*from table where a”作为下一次进行分割的待分割的SQL语句,随后依据预定的查找规则Rule1,在待分割SQL语句“select*from table where a”中未查找到预定分割字符‘<’、‘BETWEEN’、‘LIKE’、‘IS’、‘%’、‘IN’和‘VALUES’中的任一预定分割字符,随后将待分割SQL语句“select*from table where a”作为分割后的SQL语句。
又例如,在SQL性能统计平台A中,针对每一条日志信息,如日志信息msg1,在日志信息msg2中的SQL语句,如“select*from table where a>1 and b=2 and c=3”,将SQL语句“select*from table where a>1 and b=2c=3”作为待分割SQL语句,随后,依据预定的查找规则Rule1,在待分割SQL语句“select*from table where a>1 and b=2 and c=3”中查找各个预定分割字符;按照查找顺序首先查找到预定分割字符“=”,以查找到的预定分割字符“=”首次出现的位置为分割界线,对待分割SQL语句“select*from table wherea>1 and b=2 and c=3”进行分割,将待分割SQL语句“select*from table where a>1and b=2 and c=3”中查找到的首次出现预定分割字符“=”之前的SQL语句内容“select*from table where a>1 and b”作为下一次进行分割的待分割的SQL语句;后续通上例处理方式,在此不再赘述,最后,得到“select*from table where a”作为分割后的SQL语句。
在一优选实施例中,该方法还包括:所述性能统计列表以分割后的SQL语句作为第一索引信息,以日志信息中未分割的原始SQL语句、及其性能信息列表作为所述第一索引信息对应的第一统计字段内容。
其中,未分割的原始SQL语句的性能信息列表以执行所述未分割的原始SQL语句的时间段作为第二索引信息,以所述未分割的原始SQL语句的执行性能信息作为所述第二索引信息对应的第二统计字段内容。
其中,所述执行性能信息包括执行所述未分割的原始SQL语句的最长消耗时间、执行所述未分割的原始SQL语句的最短消耗时间和在各个预定耗时阶段执行所述未分割的原始SQL语句的次数。
例如,在SQL性能统计平台A中,预创建性能统计列表map。其中,性能统计列表map以分割后的SQL语句作为第一索引信息,以日志信息中未分割的原始SQL语句、及其性能信息列表作为所述第一索引信息对应的第一统计字段内容,其中,未分割的原始SQL语句的性能信息列表map以执行未分割的原始SQL语句的时间段作为第二索引信息,如将产生未分割的原始SQL语句的时间所在当天的时间段,如0-23时段,即每天的每个小时作为第二索引信息,以未分割的原始SQL语句的执行性能信息作为该第二索引信息对应的第二统计字段内容,如未分割的原始SQL语句执行所用最长消耗时间、最短消耗时间以及耗时在每个阶段的出现0到200ms,200到500ms,500到1000ms和大于1000ms的次数。性能统计列表map的表结构如下表一所示:
Figure BDA0001519817940000101
表一
在一优选实施例中,所述将分割后的SQL语句作为性能统计列表的第一索引信息,依据所述第一索引信息,将所述当前日志信息中的SQL语句的执行性能信息存储至性能统计列表,具体包括:判断所述性能统计列表中是否已存在以所述分割后的SQL语句作为第一索引信息的存储记录;若不存在,在所述性能统计列表中创建一条存储记录,所述创建的存储记录以所述分割后的SQL语句作为第一索引信息,以所述当前日志信息中未分割的原始SQL语句、及其性能信息列表作为所述第一索引信息对应的第一统计字段内容,并以执行所述未分割的原始SQL语句的时间段作为第二索引信息,以所述未分割的原始SQL语句的执行性能信息作为所述第二索引信息对应的第二统计字段内容;若存在,依据所述当前日志信息中未分割的原始SQL语句的执行性能信息,确定所述性能统计列表中该第一索引信息的存储记录对应的第二索引信息,使用所述当前日志信息中未分割的原始SQL语句的执行性能信息,更新所述性能统计列表中确定出的第二索引信息对应的第二统计字段内容。
例如,在SQL性能统计平台A中,针对日志信息msg1,得到分割后的SQL语句为“select*from table where a”,随后,判断性能统计列表map中是否已存在以“select*from table where a”作为第一索引信息的存储记录;若不存在,在性能统计列表map中创建一条存储记录,该创建的存储记录以“select*from table where a”作为第一索引信息。
又例如,在SQL性能统计平台A中,针对日志信息msg1,得到分割后的SQL语句为“select*from table where a”,随后,判断性能统计列表map中是否已存在以分割后的SQL语句“select*from table where a”作为第一索引信息的存储记录;若存在,依据未分割的原始SQL语句“select*from table where a>1 and b=2”的执行性能信息,确定性能统计列表map中以分割后的SQL语句“select*from table where a”作为第一索引信息的存储记录对应的第二索引信息,如1;更新性能统计列表map中,以分割后的SQL语句“select*fromtable where a”作为第一索引信息的存储记录中已确定的第二索引信息“1”对应的第二统计字段内容,如将第二统计字段“最小消耗时间”由100ms修改为500ms,或将第二统计字段“各个耗时阶段的次数”中的次数加1,由2更新为3。
通过本实施例,对日志信息中的SQL语句的执行消耗时间进行分段记录,更能直观地显示SQL语句的执行性能;同时,通过对每天内每个小时的SQL语句执行性能信息进行统计,能够更快速、准确地的查找出发生异常问题的SQL语句。
在一优选实施例中,该方法还包括:将所述性能统计列表中的数据转换为预定文件格式,以实现通过预定文件格式的文件存储所述数据;通过人机交互界面,接收用户的数据请求指令;基于网络接口,向用户返回所述预定文件格式的文件中与所述数据请求指令相匹配的请求结果数据;通过人机交互界面展示所述请求结果数据。
例如,在SQL性能统计平台A中,将性能统计列表map中的统计数据转换为预定文件格式,如json(JavaScript Object Notation,JS对象标记)格式;以实现通过预定文件格式的文件,如文件file1.json,存储所述数据;通过人机交互界面,接收用户的数据请求指令,如用户的请求指令为获取全部SQL语句在2017年12月20日全部的调用次数;随后,基于网络接口,如HTTP接口,向用户返回file1.json文件中与该数据请求指令相匹配的请求结果数据,并通过人机交互界面展示所述请求结果数据,如1000次。
通过本实施例,将基于性能统计列表进行统计的统计数据以网络接口的方式发生给前端进行展示,能够方便前端调用统计数据并展示给开发人员查看,开发或者运维人员能够及时地维护出现问题的SQL语句所在的代码片段,从而解决相应的问题,提高了业务系统的性能,同时,节约了维护成本和人力成本。
在一具体应用场景中,在SQL性能统计平台B中,预创建性能统计列表map,其中,性能统计列表map以分割后的SQL语句作为第一索引信息,以日志信息中未分割的原始SQL语句、及其性能信息列表作为所述第一索引信息对应的第一统计字段内容,其中,未分割的原始SQL语句的性能信息列表以执行未分割的原始SQL语句的时间段作为第二索引信息,如将产生未分割的原始SQL语句的时间所在当天的时间段,如0-23时段,即每天的每个小时作为第二索引信息,以未分割的原始SQL语句的执行性能信息作为所述第二索引信息对应的第二统计字段内容,如未分割的原始SQL语句执行所用最长消耗时间、最短消耗时间以及耗时在每个阶段的出现0到200ms,200到500ms,500到1000ms和大于1000ms的次数;业务系统产生的日志信息不间断的存储到Kafka(Apache Kafka,一种高吞吐量的分布式发布订阅消息系统)中,通过SQL性能统计平台B从Kafka中获取SQL类型的日志信息,随后,通过对每一条日志信息中的SQL语句去除参数处理,具体地,解析当前日志信息中的SQL语句里的各个参数,根据预定分割字符以及预定的查找规则Rule1,将当前日志信息中的SQL语句中的各个参数进行分割,得到仅保留一个参数的唯一SQL语句作为分割后的SQL语句,将分割后的SQL语句作为第一索引信息存储至性能统计列表map,并依据第一索引信息,将当前日志信息中的SQL语句的执行性能信息存储至性能统计列表map,以使得同一类的SQL语句归并在一起,SQL性能统计平台B从Kafka中不间断的获取SQL类型的日志信息,使用上述除参数处理方式对日志信息中的SQL语句进行去除参数处理,将去除参数的SQL语句作为索引存入map列表,去除参数前的原始SQL语句存入对应的位置,对日志信息的SQL语句消耗时间进行判断存入对应的耗时阶段的次数,并且对最大和最小消耗时间进行初始化,根据性能统计列表map中存储的各个日志信息中的SQL语句的性能数据,统计各个日志信息中的SQL语句的执行性能,实现了能够不间断的统计SQL性能信息列表,能够达到实存储的效果。随后,将map列表中的统计的数据展示给开发或者运维人员,通过将map列表中的数据转为json格式,采用http接口的形式,传送到前端进行界面展示,主要展示业务系统中所有SQL语句在某一天的调用次数,最长和最短耗时,还有各个耗时阶段的百分比,开发人员因此能够查看业务系统中所有SQL语句的性能情况,如果发现某条SQL语句消耗时间一直比较长,如1000ms以上的百分比重较大,那么该条SQL语句可能出现问题,开发人员或者运维人员能够及时地维护该条SQL语句所在的代码片段,从而及时高效地解决出现的问题,提高业务系统的性能,同时,SQL性能统计平台B还可以展示某条SQL语句在某一天的所有时间段内的性能情况,如果某天某条SQL语句出现耗时较长,开发人员可以查看每个时间段的情况是否都出现耗时较长的情况,从而可以确定异常是在哪个时间发生的,开发人员可以更进一步高效快速地的查找异常的原因。SQL性能统计平台B的性能统计工作流程示意图如图3所示。
本发明实施例提供了一种结构化查询语言SQL性能统计的装置,可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种结构化查询语言SQL性能统计的方法,其特征在于,包括:
获取SQL类型的日志信息,所述日志信息包括SQL语句和所述SQL语句的执行性能信息;
针对每一条日志信息,解析当前日志信息中的SQL语句,根据预定分割字符,对所述SQL语句进行分割,得到分割后的SQL语句;
将分割后的SQL语句作为性能统计列表的第一索引信息,依据所述第一索引信息,将所述当前日志信息中的SQL语句的执行性能信息存储至所述性能统计列表;
根据所述性能统计列表中存储的所述当前日志信息中的SQL语句的执行性能信息,统计所述当前日志信息中的SQL语句的性能数据;
所述性能统计列表以分割后的SQL语句作为第一索引信息,以日志信息中未分割的原始SQL语句、及其性能信息列表作为所述第一索引信息对应的第一统计字段内容;
其中,未分割的原始SQL语句的性能信息列表以执行所述未分割的原始SQL语句的时间段作为第二索引信息,以所述未分割的原始SQL语句的执行性能信息作为所述第二索引信息对应的第二统计字段内容;
其中,所述执行性能信息包括执行所述未分割的原始SQL语句的最长消耗时间、执行所述未分割的原始SQL语句的最短消耗时间和在各个预定耗时阶段执行所述未分割的原始SQL语句的次数。
2.根据权利要求1所述的方法,其特征在于,所述针对每一条日志信息,解析当前日志信息中的SQL语句,根据预定分割字符,对所述SQL语句进行分割,得到分割后的SQL语句,包括:
针对每一条日志信息中的SQL语句,将当前日志信息中的SQL语句作为待分割SQL语句,并执行如下步骤:
步骤A、依据预定的查找规则,在待分割SQL语句中查找各个预定分割字符;
步骤B、若查找到预定分割字符时,以查找到的预定分割字符为分割界线,对待分割SQL语句进行分割,将待分割SQL语句中查找到的预定分割字符之前的SQL语句内容作为下一次进行分割的待分割SQL语句;
步骤C、针对下一次进行分割的待分割SQL语句,跳转执行步骤A,直至未查找到任一预定分割字符,将所述未查找到任一预定分割字符对应的待分割SQL语句作为所述分割后的SQL语句;
其中,所述预定分割字符包括SQL语言中的各个操作符、赋值关键字和比较关键字。
3.根据权利要求1所述的方法,其特征在于,所述将分割后的SQL语句作为性能统计列表的第一索引信息,依据所述第一索引信息,将所述当前日志信息中的SQL语句的执行性能信息存储至性能统计列表,具体包括:
判断所述性能统计列表中是否已存在以所述分割后的SQL语句作为第一索引信息的存储记录;
若不存在,在所述性能统计列表中创建一条存储记录,所述创建的存储记录以所述分割后的SQL语句作为第一索引信息,以所述当前日志信息中未分割的原始SQL语句、及其性能信息列表作为所述第一索引信息对应的第一统计字段内容,并以执行所述未分割的原始SQL语句的时间段作为第二索引信息,以所述未分割的原始SQL语句的执行性能信息作为所述第二索引信息对应的第二统计字段内容;
若存在,依据所述当前日志信息中未分割的原始SQL语句的执行性能信息,确定所述性能统计列表中该第一索引信息的存储记录对应的第二索引信息,使用所述当前日志信息中未分割的原始SQL语句的执行性能信息,更新所述性能统计列表中确定出的第二索引信息对应的第二统计字段内容。
4.根据权利要求1-3任一项所述的方法,其特征在于,还包括:
将所述性能统计列表中的数据转换为预定文件格式,以实现通过预定文件格式的文件存储所述数据;
通过人机交互界面,接收用户的数据请求指令;
基于网络接口,向用户返回所述预定文件格式的文件中与所述数据请求指令相匹配的请求结果数据;
通过人机交互界面展示所述请求结果数据。
5.一种结构化查询语言SQL性能统计的装置,其特征在于,包括:
获取单元,用于获取SQL类型的日志信息,所述日志信息包括SQL语句和所述SQL语句的执行性能信息;
解析及分割单元,用于针对每一条日志信息,解析当前日志信息中的SQL语句,根据预定分割字符,对所述SQL语句进行分割,得到分割后的SQL语句;
存储单元,用于将分割后的SQL语句作为性能统计列表的第一索引信息,依据所述第一索引信息,将所述当前日志信息中的SQL语句的执行性能信息存储至所述性能统计列表;
统计单元,用于根据所述性能统计列表中存储的所述当前日志信息中的SQL语句的执行性能信息,统计所述当前日志信息中的SQL语句的性能数据;
所述性能统计列表以分割后的SQL语句作为第一索引信息,以日志信息中未分割的原始SQL语句、及其性能信息列表作为所述第一索引信息对应的第一统计字段内容;
其中,未分割的原始SQL语句的性能信息列表以执行所述未分割的原始SQL语句的时间段作为第二索引信息,以所述未分割的原始SQL语句的执行性能信息作为所述第二索引信息对应的第二统计字段内容;
其中,所述执行性能信息包括执行所述未分割的原始SQL语句的最长消耗时间、执行所述未分割的原始SQL语句的最短消耗时间和在各个预定耗时阶段执行所述未分割的原始SQL语句的次数。
6.根据权利要求5所述的装置,其特征在于,所述获取单元,包括:
针对每一条日志信息中的SQL语句,将当前日志信息中的SQL语句作为待分割SQL语句,并执行如下模块:
模块A,用于依据预定的查找规则,在待分割SQL语句中查找各个预定分割字符;
模块B,用于若查找到预定分割字符时,以查找到的预定分割字符为分割界线,对待分割SQL语句进行分割,将待分割SQL语句中查找到的预定分割字符之前的SQL语句内容作为下一次进行分割的待分割SQL语句;
模块C,用于针对下一次进行分割的待分割SQL语句,跳转执行模块A,直至未查找到任一预定分割字符,将所述未查找到任一预定分割字符对应的待分割SQL语句作为所述分割后的SQL语句;
其中,所述预定分割字符包括SQL语言中的各个操作符、赋值关键字和比较关键字。
7.根据权利要求5所述的装置,其特征在于,所述存储单元,包括:
判断模块,用于判断所述性能统计列表中是否已存在以所述分割后的SQL语句作为第一索引信息的存储记录;
创建模块,用于若不存在,在所述性能统计列表中创建一条存储记录,所述创建的存储记录以所述分割后的SQL语句作为第一索引信息,以所述当前日志信息中未分割的原始SQL语句、及其性能信息列表作为所述第一索引信息对应的第一统计字段内容,并以执行所述未分割的原始SQL语句的时间段作为第二索引信息,以所述未分割的原始SQL语句的执行性能信息作为所述第二索引信息对应的第二统计字段内容;
确定模块,用于若存在,依据所述当前日志信息中未分割的原始SQL语句的执行性能信息,确定所述性能统计列表中该第一索引信息的存储记录对应的第二索引信息,使用所述当前日志信息中未分割的原始SQL语句的执行性能信息,更新所述性能统计列表中确定出的第二索引信息对应的第二统计字段内容。
8.根据权利要求5-7任一项所述的装置,其特征在于,还包括:
转换单元,用于将所述性能统计列表中的数据转换为预定文件格式,以实现通过预定文件格式的文件存储所述数据;
接收单元,用于通过人机交互界面,接收用户的数据请求指令;
返回单元,用于基于网络接口,向用户返回所述预定文件格式的文件中与所述数据请求指令相匹配的请求结果数据;
展示单元,用于通过人机交互界面展示所述请求结果数据。
CN201711403391.1A 2017-12-22 2017-12-22 一种结构化查询语言sql性能统计的方法及装置 Active CN108182215B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711403391.1A CN108182215B (zh) 2017-12-22 2017-12-22 一种结构化查询语言sql性能统计的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711403391.1A CN108182215B (zh) 2017-12-22 2017-12-22 一种结构化查询语言sql性能统计的方法及装置

Publications (2)

Publication Number Publication Date
CN108182215A CN108182215A (zh) 2018-06-19
CN108182215B true CN108182215B (zh) 2021-10-12

Family

ID=62546686

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711403391.1A Active CN108182215B (zh) 2017-12-22 2017-12-22 一种结构化查询语言sql性能统计的方法及装置

Country Status (1)

Country Link
CN (1) CN108182215B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109284322A (zh) * 2018-09-06 2019-01-29 杭州途记科技有限公司 一种数据中心
CN110888909B (zh) * 2018-09-07 2022-09-23 大唐移动通信设备有限公司 一种评估内容的数据统计处理方法及装置
CN109558326B (zh) * 2018-12-03 2022-04-26 中国建设银行股份有限公司 一种测试方法及装置
CN110175031B (zh) * 2019-04-25 2023-08-18 平安科技(深圳)有限公司 Sql语言转成dsl语言的方法、装置、计算机设备和存储介质
CN110704472A (zh) * 2019-08-27 2020-01-17 北京数知科技股份有限公司 数据查询统计方法及装置
CN112948415A (zh) * 2019-12-20 2021-06-11 深圳市明源云链互联网科技有限公司 Sql语句检测方法、装置、终端设备及存储介质
CN111324604A (zh) * 2020-01-19 2020-06-23 拉扎斯网络科技(上海)有限公司 数据库表的处理方法、装置、电子设备及存储介质
CN113297245A (zh) * 2020-05-29 2021-08-24 阿里巴巴集团控股有限公司 获取执行信息的方法及装置
CN113760945A (zh) * 2020-08-11 2021-12-07 北京沃东天骏信息技术有限公司 一种审核sql语句的方法及装置
CN116894021A (zh) * 2023-05-24 2023-10-17 北京优特捷信息技术有限公司 一种日志数据存储方法、查询方法、装置、设备及介质
CN116578583B (zh) * 2023-07-12 2023-10-03 太平金融科技服务(上海)有限公司 异常语句识别方法、装置、设备、存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101425091A (zh) * 2008-12-05 2009-05-06 中国工商银行股份有限公司 一种数据库访问路径效率分析处理方法、服务器及系统
CN101989283A (zh) * 2009-08-04 2011-03-23 中兴通讯股份有限公司 一种数据库性能的监控方法和装置
CN102541521A (zh) * 2010-12-17 2012-07-04 中国银联股份有限公司 基于结构化查询语言的操作指令自动生成装置及方法
CN103399851A (zh) * 2013-06-25 2013-11-20 携程计算机技术(上海)有限公司 一种结构化查询语言(sql)脚本的性能分析与预测方法与系统
CN106598862A (zh) * 2016-12-19 2017-04-26 济南浪潮高新科技投资发展有限公司 一种基于sql语义可扩展的性能诊断调优方法
CN106934062A (zh) * 2017-03-28 2017-07-07 广东工业大学 一种查询elasticsearch的实现方法及系统
CN107480296A (zh) * 2017-08-30 2017-12-15 杭州绿湾网络科技有限公司 基于sql的数据库性能分析方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101425091A (zh) * 2008-12-05 2009-05-06 中国工商银行股份有限公司 一种数据库访问路径效率分析处理方法、服务器及系统
CN101989283A (zh) * 2009-08-04 2011-03-23 中兴通讯股份有限公司 一种数据库性能的监控方法和装置
CN102541521A (zh) * 2010-12-17 2012-07-04 中国银联股份有限公司 基于结构化查询语言的操作指令自动生成装置及方法
CN103399851A (zh) * 2013-06-25 2013-11-20 携程计算机技术(上海)有限公司 一种结构化查询语言(sql)脚本的性能分析与预测方法与系统
CN106598862A (zh) * 2016-12-19 2017-04-26 济南浪潮高新科技投资发展有限公司 一种基于sql语义可扩展的性能诊断调优方法
CN106934062A (zh) * 2017-03-28 2017-07-07 广东工业大学 一种查询elasticsearch的实现方法及系统
CN107480296A (zh) * 2017-08-30 2017-12-15 杭州绿湾网络科技有限公司 基于sql的数据库性能分析方法和装置

Also Published As

Publication number Publication date
CN108182215A (zh) 2018-06-19

Similar Documents

Publication Publication Date Title
CN108182215B (zh) 一种结构化查询语言sql性能统计的方法及装置
US11907244B2 (en) Modifying field definitions to include post-processing instructions
AU2017101864A4 (en) Method, device, server and storage apparatus of reviewing SQL
CN108108426B (zh) 自然语言提问的理解方法、装置及电子设备
CN112506951B (zh) 数据库慢查询日志的处理方法、服务器、计算设备和系统
CN110555205B (zh) 否定语义识别方法及装置、电子设备、存储介质
US11836331B2 (en) Mathematical models of graphical user interfaces
CN113760891A (zh) 一种数据表的生成方法、装置、设备和存储介质
CN110008448B (zh) 将SQL代码自动转换为Java代码的方法和装置
EP4246365A1 (en) Webpage identification method and apparatus, electronic device, and medium
CN116149856A (zh) 算子计算方法、装置、设备及介质
CN113468866B (zh) 非标准json串的解析方法及装置
CN113377604B (zh) 一种数据处理方法、装置、设备和存储介质
CN111221894B (zh) 基于配置的时序数据库存储方法、装置及服务器
CN108073643B (zh) 任务处理方法和装置
CN117349388B (zh) 数据时效性确定方法、电子设备
CN113901094B (zh) 一种数据处理方法、装置、设备及存储介质
US10713254B2 (en) Attribute value information for a data extent
CN116483698A (zh) 一种前端受影响功能点分析方法、装置、设备及存储介质
CN113495753A (zh) 项目的标签获取方法、装置、电子设备及存储介质
CN117972170A (zh) 慢查询的识别方法、装置、计算机设备及存储介质
CN114116784A (zh) 数据库请求评估方法、装置、可读存储介质及电子设备
CN115344638A (zh) Sql语句查询方法、装置、设备、存储介质及程序产品
CN113934609A (zh) 大数据平台运维方法、装置、计算设备和存储介质
CN117724702A (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