【技术实现步骤摘要】
SQL语句性能检测方法及装置
[0001]本专利技术涉及人工智能
,尤其涉及一种SQL语句性能检测方法及装置。
技术介绍
[0002]本部分旨在为权利要求书中陈述的本专利技术实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
[0003]结构化查询语言(Structured Query Language,SQL)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。在构建应用系统的过程中,编写符合要求的SQL语句对于构建高性能应用系统非常重要。
[0004]目前,衡量一个SQL语句是否具备高性能的标准,是基于开发人员知识经验积累,对编写的SQL语句进行反复修改调优,直至其符合性能要求。这种方式的开发成本过高,开发效率也较低,且SQL语句性能检测结果也容易受到人为因素的影响。
技术实现思路
[0005]本专利技术实施例提供一种SQL语句性能检测方法,用以降低SQL语句的开发成本,提高SQL语句的开发效率,以及避免人为因素对SQL语句性能检测结果的影响,该方法包括:
[0006]接收用户输入的待检测SQL语句;
[0007]对所述待检测SQL语句进行特征提取,确定所述待检测SQL语句的特征向量;
[0008]将所述待检测SQL语句的特征向量输入性能检测模型,得到所述待检测SQL语句对应的性能检测结果;
[0009]其中,所述性能检测模型是根据带标记的SQL语句集和未标记的SQL语句集,对机器学习模型训练得 ...
【技术保护点】
【技术特征摘要】
1.一种SQL语句性能检测方法,其特征在于,包括:接收用户输入的待检测SQL语句;对所述待检测SQL语句进行特征提取,确定所述待检测SQL语句的特征向量;将所述待检测SQL语句的特征向量输入性能检测模型,得到所述待检测SQL语句对应的性能检测结果;其中,所述性能检测模型是根据带标记的SQL语句集和未标记的SQL语句集,对机器学习模型训练得到,所述性能检测模型包括第一层分类器和第二层分类器,所述第一层分类器用于对SQL语句的全局性能检测,所述第二层分类器用于对SQL语句的性能问题进行划分。2.如权利要求1所述的方法,其特征在于,所述待检测SQL语句的特征向量包括所述待检测SQL语句的语句描述特征向量、数据结构特征向量和数据元特征向量。3.如权利要求1所述的方法,其特征在于,将所述待检测SQL语句的特征向量输入性能检测模型,得到所述待检测SQL语句对应的性能检测结果,包括:将所述待检测SQL语句的特征向量输入性能检测模型的第一层分类器,确定所述待检测SQL语句是否存在全局性能问题,所述第一层分类器包括一个全局SVM二分类器,所述全局SVM二分类器包括全局性能检测规则;在所述待检测SQL语句存在全局性能问题的情况下,将所述待检测SQL语句的特征向量输入性能检测模型的第二层分类器,确定所述待检测SQL语句存在的性能问题的类别;根据所述待检测SQL语句存在的性能问题的类别,确定所述待检测SQL语句对应的性能检测结果。4.如权利要求3所述的方法,其特征在于,所述第二层分类器包括多个SVM二分类器,每一SVM二分类器包括一种性能检测规则,每一SVM二分类器的性能检测规则均不同;在所述待检测SQL语句存在全局性能问题的情况下,将所述待检测SQL语句的特征向量输入性能检测模型的第二层分类器,确定所述待检测SQL语句存在的性能问题的类别,包括:在所述待检测SQL语句存在全局性能问题的情况下,将所述待检测SQL语句的特征向量依次输入第二层分类器中的每一SVM二分类器,确定所述待检测SQL语句是否存在每一SVM二分类器的性能检测规则所对应的性能问题;根据所述待检测SQL语句存在的任意一个或多个SVM二分类器的性能检测规则所对应的性能问题,确定所述待检测SQL语句存在的性能问题的类别。5.如权利要求1所述的方法,其特征在于,将所述待检测SQL语句的特征向量输入性能检测模型,得到所述待检测SQL语句对应的性能检测结果之前,还包括:将带标记的SQL语句集和未标记的SQL语句集作为样本数据,构建训练集和测试集,所述带标记的SQL语句集包括标记存在性能问题的SQL语句和标记不存在问题的SQL语句;利用训练集对机器学习模型进行训练,确定性能检测模型;利用测试集对性能检测模型进行测试。6.如权利要求5所述的方法,其特征在于,利用训练集对机器学习模型进行训练,确定性能检测模型,包括:构建支持向量机SVM算法学习模型;
利用训练集对SVM算法学习模型进行训练,确定性能检测模型。7.一种SQL语句性能检测装置,其特征在于,包括:接收模块,用于接收用户输入的待检测SQL语句;...
【专利技术属性】
技术研发人员:郑小虎,张顺,张鹏鹏,郑泽奇,
申请(专利权)人:中国银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。