CN105653647A - Sql语句的信息采集方法及*** - Google Patents
Sql语句的信息采集方法及*** Download PDFInfo
- Publication number
- CN105653647A CN105653647A CN201511001540.2A CN201511001540A CN105653647A CN 105653647 A CN105653647 A CN 105653647A CN 201511001540 A CN201511001540 A CN 201511001540A CN 105653647 A CN105653647 A CN 105653647A
- Authority
- CN
- China
- Prior art keywords
- sql statement
- lower performance
- user
- information
- parameter
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供一种SQL语句的信息采集方法及***。该方法包括:获取用户输入的执行指令,根据用户预设的选择信息,获取与选择信息对应的低性能的SQL语句的标识以及低性能的SQL语句的内容;根据用户预设的参数类型确定参数文件,根据低性能的SQL语句的标识,在参数文件中获取低性能的SQL语句的运行参数,向用户提供低性能的SQL语句的内容以及运行参数,以使用户根据低性能的SQL语句的内容以及运行参数,对低性能的SQL语句进行优化。用以实现快速获取低性能的SQL语句的运行参数,进而提高对Oracle数据库中的SQL语句的优化效率。
Description
技术领域
本发明实施例涉及数据库技术领域,尤其涉及一种SQL语句的信息采集方法及***。
背景技术
目前,Oracle数据库为使用较为广泛的数据库之一,在实际使用过程中,通过结构化查询语言(StructuredQueryLanguage,简称SQL)语句对Oracle数据库进行查询、更新等操作,因此,SQL语句的性能直接影响着Oracle数据库的性能。
在Oracle数据库使用过程中,为了保证Oracle数据库具有较高的性能,需要确定Oracle数据库中性能较低SQL语句,并获取各性能较低的SQL语句的运行参数,然后根据性能较低的SQL语句的运行参数对SQL语句进行优化。在现有技术中,在Oracle数据库***后台,用户每次对SQL语句进行优化时,均需要执行下述过程:通过用户输入的预设命令获取自动工作负荷存储库(AutomaticWorkloadRepository,简称AWR)报告,并在AWR报告中输入执行命令确定性能较低的SQL语句的内容;在得到低性能的SQL语句以后,针对每条低性能的SQL语句,根据要获取的SQL语句的运行参数,在Oracle数据库中分别获取保存该运行参数的文件,然后分别在不同的文件中,通过输入预设指令,获取低性能的SQL语句对应的运行参数。例如,用户在AWR报告中选择低性能的SQL语句,在获取该低性能的SQL语句的执行计划的运行参数时,用户需要先获取保存执行计划的文件,并在该保存执行计划的文件中输入指令获取该SQL语句的执行计划;再采用同样的方式获取其它运行参数。当用户需要获取多条SQL语句的运行参数时,需要多次获取参数文件,多次输入不同的获取指令。
由上可知,在现有技术中,获取低性能SQL语句的运行参数的过程复杂,由于每次对SQL语句进行优化时,都需要多次获取参数文件,以及多次输入不同的获取指令,需要耗费大量的时间,使得获取低性能SQL语句的运行参数效率较低,进而导致对Oracle数据库中的SQL语句的优化效率较低。
发明内容
本发明实施例提供一种SQL语句的信息采集方法及***,用以实现快速获取低性能的SQL语句的标识、内容以及运行参数,进而提高对Oracle数据库中的SQL语句的优化效率。
第一方面,本发明实施例提供一种SQL语句的信息采集方法,应用于Oracle数据库,包括:
获取用户输入的执行指令,根据用户预设的选择信息,获取与所述选择信息对应的低性能的SQL语句的标识以及所述低性能的SQL语句的内容;
根据用户预设的参数类型确定参数文件,其中,所述参数文件中包括多条SQL语句的标识和各所述SQL语句的运行参数;
根据所述低性能的SQL语句的标识,在所述参数文件中获取所述低性能的SQL语句的运行参数,向用户提供所述低性能的SQL语句的内容以及运行参数,以使所述用户根据所述低性能的SQL语句的内容以及运行参数,对所述低性能的SQL语句进行优化。
第二方面,本发明实施例提供一种SQL语句的信息采集***,应用于Oracle数据库,包括:
获取模块,用于获取用户输入的执行指令,根据用户预设的选择信息,获取与所述选择信息对应的低性能的SQL语句的标识以及所述低性能的SQL语句的内容;
确定模块,用于根据用户预设的参数类型确定参数文件,其中,所述参数文件中包括多条SQL语句的标识和各所述SQL语句的运行参数;
所述获取模块还用于,根据所述低性能的SQL语句的标识,在所述参数文件中获取所述低性能的SQL语句的运行参数;
显示模块,用于向用户提供所述低性能的SQL语句的内容以及运行参数,以使所述用户根据所述低性能的SQL语句的内容以及运行参数,对所述低性能的SQL语句进行优化。
本发明实施例提供的SQL语句的信息采集方法及***,通过获取用户输入的执行指令,根据用户预设的选择信息,获取与选择信息对应的低性能的SQL语句的标识以及低性能的SQL语句的内容;根据用户预设的参数类型确定参数文件,其中,参数文件中包括多条SQL语句的标识和各SQL语句的运行参数;根据低性能的SQL语句的标识,在参数文件中获取低性能的SQL语句的运行参数,向用户提供低性能的SQL语句的内容以及运行参数,以使用户根据低性能的SQL语句的内容以及运行参数,对低性能的SQL语句进行优化;在上述过程中,用户无需针对每一个低性能的SQL语句,多次获取参数文件并在参数文件中输入获取指令,用户只需要在信息采集***中预设选择信息以及参数类型,且在用户需要获取低性能的SQL语句的运行参数时输入的执行指令即可,操作过程简单方便,节省时间,进而提高了获取低性能SQL语句的运行参数的效率,进而提高了对Oracle数据库中的SQL语句的优化效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的SQL语句的信息采集方法的流程示意图一;
图2为本发明提供的SQL语句的信息采集方法的流程示意图二;
图3为本发明提供的SQL语句的信息采集***的界面示意图;
图4为本发明提供的SQL语句的信息采集***的结构示意图一;
图5为本发明提供的SQL语句的信息采集***的结构示意图二。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例所涉及的SQL语句的信息采集方法及***应用于Oracle数据库,用于快速获取Oracle数据库中低性能的SQL语句的标识、内容以及运行参数;下面采用具体实施例对SQL语句的信息采集方法及***进行详细说明。
图1为本发明提供的SQL语句的信息采集方法的流程示意图一,该方法的执行主体为SQL语句的信息采集***,该SQL语句的信息采集***可以通过软件和/或硬件实现,请参照图1,该方法可以包括:
S101、获取用户输入的执行指令,根据用户预设的选择信息,获取与选择信息对应的低性能的SQL语句的标识以及低性能的SQL语句的内容;
S102、根据用户预设的参数类型确定参数文件,其中,参数文件中包括多条SQL语句的标识和各SQL语句的运行参数;
S103、根据低性能的SQL语句的标识,在参数文件中获取低性能的SQL语句的运行参数,向用户提供低性能的SQL语句的内容以及运行参数,以使用户根据低性能的SQL语句的内容以及运行参数,对低性能的SQL语句进行优化。
在实际应用过程中,当用户需要对Oracle数据库的性能进行优化时,需要先获取Oracle数据库中低性能的SQL语句的标识以及低性能的SQL语句的内容,然后获取低性能的SQL语句的运行参数。
在本发明所示的实施例中,用户在SQL语句的信息采集***(下文简称信息采集***)中预设有选择信息、以及要获取的低性能的SQL语句的参数类型,当用户需要获取Oracle数据库中低性能的SQL语句的运行参数时,用户通过在信息采集***中输入预设的执行指令,该执行指令可以为可视化的图形按钮、或者预设的执行代码;当信息采集***获取到用户输入的执行指令时,先根据用户预设的选择信息获取低性能的SQL语句的标识以及低性能的SQL语句的内容,再根据用户预设的参数类型获取低性能的SQL语句的运行参数。下面,分别对获取低性能的SQL语句的标识以及低性能的SQL语句的内容的过程、以及获取低性能的SQL语句的运行参数的过程进行详细说明。
针对获取低性能的SQL语句的标识以及低性能的SQL语句的内容的过程:
在信息采集***获取得到用户输入的执行指令后,根据用户预设的选择信息,获取与选择信息对应的低性能的SQL语句的标识以及低性能的SQL语句的内容;可选的,可以通过如下可行的实现方式获取与选择信息对应的低性能的SQL语句的标识以及低性能的SQL语句的内容:接收用户输入的信息采集时间段,获取Oracle数据库在信息采集时间段内运行所生成的报告信息,报告信息包括多个SQL语句的标识、各SQL语句的内容和各SQL语句的运行性能指标数据;根据用户预设的选择信息,在报告信息中确定与选择信息对应的低性能的SQL语句的标识以及低性能的SQL语句的内容。
在上述可行的实现方式中,信息采集***可以向用户提供可视化的输入界面,该可视化的输入界面中包括信息采集时间段的输入框,用户可以在该信息采集时间段的输入框中输入采集时间段,信息采集***根据用户输入的采集时间段,获取Oracle数据库在信息采集时间段内运行所生成的报告信息,该报告信息包括多个SQL语句的标识、各SQL语句的内容和各SQL语句的运行性能指标数据,其中,运行性能指标数据可以包括:SQL语句的执行总时长、SQL语句占用CPU的总时长、SQL语句的执行次数、平均执行时长、逻辑读、逻辑写等;信息采集***根据用户预设的选择信息,在报告信息中确定与选择信息对应的低性能的SQL语句的标识以及低性能的SQL语句的内容,在实际应用过程中,根据选择信息的不同,在报告信息中确定与选择信息对应的低性能的SQL语句的标识以及低性能的SQL语句的内容的过程也不同,具体的,可以通过以下两种可行的实现方式实现:
一种可行的实现方式:选择信息包括选择条件;
在该种可行的实现方式中,根据选择条件,在报告信息中确定满足选择条件的低性能的SQL语句的标识以及低性能的SQL语句的内容;
例如,选择条件可以为:执行总时长大于1000秒的SQL语句,则信息采集***在报告信息中获取执行总时长大于1000秒的所有SQL语句的标识、以及执行总时长大于1000秒的SQL语句的内容。
另一种可行的实现方式:选择信息包括选择字段、排序方式以及选择个数;
在该种可行的实现方式中,根据选择字段以及排序方式,对报告信息进行排序,并根据选择个数,在排序后的报告信息中确定低性能的SQL语句的标识以及低性能的SQL语句的内容。
例如,选择信息包括的选择字段为:占用CPU的总时长,排序方式为降序排序,选择个数为10个,则信息采集***对报告信息按照“占用CPU的总时长”字段进行降序排序,并在排序的报告信息中选择前10个SQL语句的标识以及SQL语句的内容。
针对获取低性能的SQL语句的运行参数的过程:
在实际应用过程中,参数类型可以包括SQL语句的执行计划、SQL语句相关表的记录数、SQL语句相关表列去重值、SQL语句相关表的索引、SQL语句的绑定变量等,每一种类型的运行参数保存在相应的参数文件中,例如,参数文件1中保存着Oracle数据库中所有SQL语句的执行计划,在参数文件2中保存着Oracle数据库中所有SQL语句相关表的记录数;需要说明的是,用户预设的参数类型可以为上述参数类型中的一种或多种。
在信息采集***确定得到低性能的SQL语句的标识以及低性能的SQL语句的内容后,根据用户预设的参数类型,确定保存该参数类型的参数文件,在参数文件中包括多条SQL语句的标识以及各SQL语句的运行参数,信息采集***根据已经获取得到的低性能的SQL语句的标识,在参数文件中获取低性能的SQL语句的运行参数,在得到低性能的SQL语句的运行参数后,向用户展示低性能的SQL语句的内容以及运行参数,以使用户根据低性能的SQL语句的内容以及运行参数,对低性能的SQL语句进行优化。
本发明实施例提供的SQL语句的信息采集方法,通过获取用户输入的执行指令,根据用户预设的选择信息,获取与选择信息对应的低性能的SQL语句的标识以及低性能的SQL语句的内容;根据用户预设的参数类型确定参数文件,其中,参数文件中包括多条SQL语句的标识和各SQL语句的运行参数;根据低性能的SQL语句的标识,在参数文件中获取低性能的SQL语句的运行参数,向用户提供低性能的SQL语句的内容以及运行参数,以使用户根据低性能的SQL语句的内容以及运行参数,对低性能的SQL语句进行优化;在上述过程中,用户无需针对每一个低性能的SQL语句,多次获取参数文件并在参数文件中输入获取指令,用户只需要在信息采集***中预设选择信息以及参数类型,且在用户需要获取低性能的SQL语句的运行参数时输入的执行指令即可,操作过程简单方便,节省时间,进而提高了获取低性能SQL语句的运行参数效率,进而提高了对Oracle数据库中的SQL语句的优化效率。
在实际应用过程中,在用户需要获取低性能的SQL语句的标识以及低性能的SQL语句的内容、以及低性能的SQL语句的运行参数之前,用户还可以在信息采集***中预设选择信息以及参数类型;进一步的,为了便于用户查看获取得到的低性能的SQL语句的内容以及运行参数,还可以对低性能的SQL语句以及低性能的SQL语句的运行参数进行整合操作,下面,在图1所示实施例的基础上,通过图2所示实施例进行详细说明。
图2为本发明提供的SQL语句的信息采集方法的流程示意图二,在图1所示实施例的基础上,请参照图2,该方法可以包括:
S201、接收用户输入的参数设置指令;
S202、根据所述参数设置指令向用户显示可视化界面,所述可视化界面包括选择信息输入框、以及参数类型输入框;
S203、接收并保存用户在选择信息输入框输入的选择信息,接收并保存用户在参数类型输入框输入的参数类型;
S204、获取用户输入的执行指令,根据用户预设的选择信息,获取与选择信息对应的低性能的SQL语句的标识以及低性能的SQL语句的内容;
S205、根据用户预设的参数类型确定参数文件,其中,参数文件中包括多条SQL语句的标识和各SQL语句的运行参数;
S206、根据低性能的SQL语句的标识,在参数文件中获取低性能的SQL语句的运行参数;
S207、对低性能的SQL语句的多个运行参数进行整合处理,得到参数表,并生成参数表的超链接,超链接用于在接收到用户的选中指令后链接到参数表;
S208、生成低性能的SQL语句的检测报告,检测报告包括低性能的SQL语句的内容以及超链接,向用户提供低性能的SQL语句的检测报告,以使用户根据低性能的SQL语句的检测报告,对低性能的SQL语句进行优化。
在S201-S203中,信息采集***向用户提供可视化的操作界面,以使用户可以在操作界面中输入参数设置指令,其中,参数设置指令可以为可视化的图形按钮,在信息采集***接收到用户输入的参数设置指令后,向用户显示包括选择信息输入框和参数类型输入框的可视化界面,接收并保存用户在选择信息输入框输入的选择信息、在参数类型输入框输入的参数类型,以使信息采集***在接下来的流程中使用该选择信息以及参数类型。
S204-S206与S101-S103相同,此处不再进行赘述。
在S207中,在通过S204-S206得到低性能SQL语句的多个运行参数后,对低性能的SQL语句的多个运行参数进行整合处理得到参数表,可选的,可以将每一个低性能的SQL的多个运行参数放置在同一张参数表中,使得一张参数表中保存一个低性能的SQL的多个运行参数,在S207中得到的参数表的个数与低性能的SQL语句的个数相同;然后分别生成每一个参数表的超链接,可选的,超链接可以为参数表的存储地址。
在S208中,在信息采集***得到各低性能的SQL语句的参数表、以及各参数表的超链接后,生成低性能的SQL语句的检测报告,该检测报告包括低性能的SQL语句的内容以及超链接,在实际应用过程中,检测报告还可以包括低性能的SQL语句的标识、执行总时长、执行次数、占用CPU时长、平均执行时长、逻辑读、逻辑写等。
下面,结合图3,通过具体示例对图1和图2所示的方法进行详细说明。
图3为本发明提供的SQL语句的信息采集***的界面示意图,请参照图3,包括界面301-界面306,下面结合图3中所示的界面301-界面306,对图1和图2所示的方法进行详细说明。
在界面301中,该界面为信息采集***的开始界面,在该界面中包括“参数设置”、“启动执行”按钮,通过对“参数设置”按钮进行点击操作,可以跳转至界面302;通过对“启动执行”按钮进行点击操作,使得信息采集***开始获取Oracle数据库中低性能的SQL语句的标识、内容以及运行参数,具体的,在界面303中对“启动执行”按钮的功能进行详细介绍。
在界面302中,包括选择信息输入框以及参数类型输入框,用户可以在选择信息输入框中输入选择信息,在参数类型输入框中输入参数类型,假设用户在选择信息输入框中输入的选择信息如下:
选择字段:执行总时长;
排序方式:降序排序;
选择个数:3个。
假设用户在参数类型输入框中输入的参数类型为:执行计划、记录数以及绑定变量。
在实际使用的过程中,用户通过点击选择信息输入框可以链接到多个选择信息,用户可以在多个选择信息中选择即可,无需手动输入;同理,用户可以通过点击参数类型选择框,并在链接到的多个参数类型中选择参数类型即可。
在用户输入完成选择信息以及参数类型之后,通过点击“确定”按钮实现对用户输入的选择信息以及参数类型保存,以使信息采集***运行的过程中使用该选择信息以及参数类型;在点击“确定”按钮后,进入待界面303,其中界面303和界面301相同,用户通过在界面303中对“启动执行”按钮进行点击操作,跳转到界面304。
在界面304中,包括信息采集的起始时刻输入框和终止时刻输入框,用户可以在起始时刻输入框中输入起始时刻,在终止时刻输入框中输入终止时刻;假设用户输入的起始时刻为:2015-01-0108:00:00,终止时刻为:2015-01-0123:00:00,在用户完成输入后,通过点击该界面中的“确定”按钮,使得信息采集***开始采集Oracle数据库在2015年1月1日,从8点到23点之间运行所生成的报告信息,例如,报告信息可以如表1所示:
表1
标识 | 内容 | 执行总时长 | 执行次数 | 占用CPU时长 | …… |
SQL1 | XXX1 | 200秒 | 5 | 100秒 | …… |
SQL2 | XXX2 | 1000秒 | 9 | 300秒 | …… |
SQL3 | XXX3 | 1500秒 | 12 | 400秒 | …… |
SQL4 | XXX4 | 750秒 | 6 | 250秒 | |
…… | …… | …… | …… | …… | …… |
在信息采集***得到表1所示的报告信息后,根据用户在界面302中输入的选择信息,根据执行总时长字段对表1进行降序排序得到表2所示的报告信息。
表2
标识 | 内容 | 执行总时长 | 执行次数 | 占用CPU时长 | …… |
SQL10 | XXX10 | 3000秒 | 50 | 800秒 | …… |
SQL8 | XXX8 | 2000秒 | 19 | 730秒 | …… |
SQL3 | XXX3 | 1500秒 | 12 | 400秒 | …… |
SQL6 | XXX6 | 1200秒 | 10 | 360秒 | |
…… | …… | …… | …… | …… | …… |
在信息采集***得到表2所示的报告信息后,根据选择信息中的选择个数,得到表3所示的报告信息。
表3
标识 | 内容 | 执行总时长 | 执行次数 | 占用CPU时长 | …… |
SQL10 | XXX10 | 3000秒 | 50 | 800秒 | …… |
SQL8 | XXX8 | 2000秒 | 19 | 730秒 | …… |
SQL3 | XXX3 | 1500秒 | 12 | 400秒 | …… |
在信息采集***得到表3所示的报告信息后,在表3所示的报告信息中确定与选择信息对应的低性能的SQL语句的标识以及低性能的SQL语句的内容,具体的,如表4所示:
表4
标识 | 内容 |
SQL10 | XXX10 |
SQL8 | XXX8 |
SQL3 | XXX3 |
在信息采集***得到表4所示的低性能的SQL语句的标识以及内容之后,根据用户在界面202中输入的参数类型,分别确定参数类型对应的参数文件,例如,确定执行计划对应的参数文件为参数文件1,确定记录数对应的参数文件为参数文件2,确定绑定变量对应的参数文件为参数文件3;信息采集***分别在参数文件1中获取SQL10、SQL8、SQL3的执行计划,分别在参数文件2中获取SQL10、SQL8、SQL3的记录数,分别在参数文件3中获取SQL10、SQL8、SQL3的绑定变量。
在信息采集***获取得到SQL10、SQL8、SQL3的执行计划、记录数以及绑定变量后,分别对SQL10、SQL8、SQL3的三种类型的参数进行整理,得到三个参数表,该三个参数表中分别存储SQL10、SQL8、SQL3的三种类型的参数;可选的,该三个参数表如表5A-5C所示;
表5A
表5B
表5C
在信息采集***得到表5A-5C所示的参数表后,生成各参数表的超链接,例如,信息采集***生成的表5A的超链接为URL-SQL10,生成的表5B的超链接为URL-SQL8,生成的表5C的超链接为URL-SQL3。
信息采集***根据生成的各个参数表的超链接,生成低性能的SQL语句的检测报告,并向用户提供低性能的SQL语句的检测报告,具体的,如界面305所示。
在界面305中,示出了检测报告,该检测包括SQL10、SQL8、SQL3的内容以及各SQL语句对应的超链接,通过点击SQL8语句的超链接,跳转至界面306;需要说明的是,检测报告中还可以包括其他内容,如各SQL语句的执行总时长,在实际应用过程中,可以根据实际需要设置检测报告中包括的内容,本发明对此不作具体限定。
在界面306中,依次显示SQL8的三种类型的参数;当前,若在界面305中点击其他SQL语句对应的超链接,则在界面306中显示其他语句对应的三种类型的参数。
在上述过程中,用户无需针对SQL10、SQL8、SQL3中的每一个SQL语句,分别获取参数文件1-参数文件3,并在参数文件1-参数文件3中通过输入获取指令以获取SQL10、SQL8、SQL3对应的执行计划、记录数以及绑定变量;用户只需要在界面302中输入选择信息,在界面304中输入起始时刻以及终止时刻,即可获取界面305和界面306所示的检测报告,操作过程简单方便,节省时间,进而提高了获取低性能SQL语句的运行参数效率,进而提高了对Oracle数据库中的SQL语句的优化效率。
图4为本发明提供的SQL语句的信息采集***的结构示意图一,该SQL语句的信息采集***应用于Oracle数据库,请参照图4,该***可以包括:
获取模块401,用于获取用户输入的执行指令,根据用户预设的选择信息,获取与选择信息对应的低性能的SQL语句的标识以及低性能的SQL语句的内容;
确定模块402,用于根据用户预设的参数类型确定参数文件,其中,参数文件中包括多条SQL语句的标识和各SQL语句的运行参数;
获取模块401还用于,根据低性能的SQL语句的标识,在参数文件中获取低性能的SQL语句的运行参数;
显示模块403,用于向用户提供低性能的SQL语句的内容以及运行参数,以使用户根据低性能的SQL语句的内容以及运行参数,对低性能的SQL语句进行优化。
具体的,显示模块403具体可以用于:
对低性能的SQL语句的多个运行参数进行整合处理,得到参数表,并生成参数表的超链接,超链接用于在接收到用户的选中指令后链接到参数表;
生成低性能的SQL语句的检测报告,检测报告包括低性能的SQL语句的内容以及超链接,向用户提供低性能的SQL语句的检测报告。
在实际应用过程中,获取模块401具体可以用于:
接收用户输入的信息采集时间段;
获取Oracle数据库在信息采集时间段内运行所生成的报告信息,报告信息包括多个SQL语句的标识、各SQL语句的内容和各SQL语句的运行性能指标数据;
根据用户预设的选择信息,在报告信息中确定与选择信息对应的低性能的SQL语句的标识以及低性能的SQL语句的内容。
在实际应用过程中,根据选择信息包括的内容不同,获取模块401的具体用途也不相同,具体的:
当选择信息包括选择条件时,获取模块401具体可以用于:根据选择条件,在报告信息中确定满足选择条件的低性能的SQL语句的标识以及低性能的SQL语句的内容;
或者,
当选择信息包括选择字段、排序方式以及选择个数时,获取模块401具体可以用于:根据选择字段以及排序方式,对报告信息进行排序,并根据选择个数,在排序后的报告信息中确定低性能的SQL语句的标识以及低性能的SQL语句的内容。
图5为本发明提供的SQL语句的信息采集***的结构示意图二,该SQL语句的信息采集***应用于Oracle数据库,在图4所示实施例的基础上,请参照图4,该***还可以包括设置模块404,其中,
设置模块404用于,在获取模块401获取用户输入的执行指令,根据用户预设的选择信息,在Oracle数据库中获取与选择信息对应的低性能的SQL语句的标识以及低性能的SQL语句的内容之前,接收用户输入的参数设置指令;
根据参数设置指令向用户显示可视化界面,可视化界面包括选择信息输入框、以及参数类型输入框;
接收并保存用户在选择信息输入框输入的选择信息,接收并保存用户在参数类型输入框输入的参数类型。
本发明实施例提供的SQL语句的信息采集***可以执行上述方法实施例所示的技术方案,实现原理以及有益效果类似,此处不再进行赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、本地磁盘、磁盘阵列或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种SQL语句的信息采集方法,其特征在于,应用于Oracle数据库,包括:
获取用户输入的执行指令,根据用户预设的选择信息,获取与所述选择信息对应的低性能的SQL语句的标识以及所述低性能的SQL语句的内容;
根据用户预设的参数类型确定参数文件,其中,所述参数文件中包括多条SQL语句的标识和各所述SQL语句的运行参数;
根据所述低性能的SQL语句的标识,在所述参数文件中获取所述低性能的SQL语句的运行参数,向用户提供所述低性能的SQL语句的内容以及运行参数,以使所述用户根据所述低性能的SQL语句的内容以及运行参数,对所述低性能的SQL语句进行优化。
2.根据权利要求1所述的方法,其特征在于,所述向用户提供所述低性能的SQL语句的内容以及运行参数,包括:
对所述低性能的SQL语句的多个运行参数进行整合处理,得到参数表,并生成所述参数表的超链接,所述超链接用于在接收到所述用户的选中指令后链接到所述参数表;
生成所述低性能的SQL语句的检测报告,所述检测报告包括所述低性能的SQL语句的内容以及所述超链接,向所述用户提供所述低性能的SQL语句的检测报告,以使所述用户根据所述检测报告,对所述低性能的SQL语句进行优化。
3.根据权利要求1所述的方法,其特征在于,所述根据用户预设的选择信息,获取与所述选择信息对应的低性能的SQL语句的标识以及所述低性能的SQL语句的内容,包括:
接收用户输入的信息采集时间段;
获取所述Oracle数据库在所述信息采集时间段内运行所生成的报告信息,所述报告信息包括多个SQL语句的标识、各所述SQL语句的内容和各所述SQL语句的运行性能指标数据;
根据用户预设的选择信息,在所述报告信息中确定与所述选择信息对应的所述低性能的SQL语句的标识以及所述低性能的SQL语句的内容。
4.根据权利要求3所述的方法,其特征在于,所述选择信息包括选择条件;相应的,根据用户预设的选择信息,在所述报告信息中确定与所述选择信息对应的所述低性能的SQL语句的标识以及所述低性能的SQL语句的内容,包括:
根据所述选择条件,在所述报告信息中确定满足所述选择条件的所述低性能的SQL语句的标识以及所述低性能的SQL语句的内容;
或者,
所述选择信息包括选择字段、排序方式以及选择个数,相应的,根据用户预设的选择信息,在所述报告信息中确定与所述选择信息对应的所述低性能的SQL语句的标识以及所述低性能的SQL语句的内容,包括:
根据所述选择字段以及排序方式,对所述报告信息进行排序,并根据所述选择个数,在排序后的报告信息中确定低性能的SQL语句的标识以及所述低性能的SQL语句的内容。
5.根据权利要求3或4所述的方法,其特征在于,所述获取用户输入的执行指令,根据用户预设的选择信息,在所述报告信息中确定与所述选择信息对应的所述低性能的SQL语句的标识以及所述低性能的SQL语句的内容之前,还包括:
接收用户输入的参数设置指令;
根据所述参数设置指令向用户显示可视化界面,所述可视化界面包括选择信息输入框、以及参数类型输入框;
接收并保存用户在选择信息输入框输入的选择信息,接收并保存用户在参数类型输入框输入的参数类型。
6.一种SQL语句的信息采集***,其特征在于,应用于Oracle数据库,包括:
获取模块,用于获取用户输入的执行指令,根据用户预设的选择信息,获取与所述选择信息对应的低性能的SQL语句的标识以及所述低性能的SQL语句的内容;
确定模块,用于根据用户预设的参数类型确定参数文件,其中,所述参数文件中包括多条SQL语句的标识和各所述SQL语句的运行参数;
所述获取模块还用于,根据所述低性能的SQL语句的标识,在所述参数文件中获取所述低性能的SQL语句的运行参数;
显示模块,用于向用户提供所述低性能的SQL语句的内容以及运行参数,以使所述用户根据所述低性能的SQL语句的内容以及运行参数,对所述低性能的SQL语句进行优化。
7.根据权利要求6所述的***,其特征在于,所述显示模块具体用于:
对所述低性能的SQL语句的多个运行参数进行整合处理,得到参数表,并生成所述参数表的超链接,所述超链接用于在接收到所述用户的选中指令后链接到所述参数表;
生成所述低性能的SQL语句的检测报告,所述检测报告包括所述低性能的SQL语句的内容以及所述超链接,向所述用户提供所述低性能的SQL语句的检测报告。
8.根据权利要求6所述的***,其特征在于,所述获取模块具体用于:
接收用户输入的信息采集时间段;
获取所述Oracle数据库在所述信息采集时间段内运行所生成的报告信息,所述报告信息包括多个SQL语句的标识、各所述SQL语句的内容和各所述SQL语句的运行性能指标数据;
根据用户预设的选择信息,在所述报告信息中确定与所述选择信息对应的所述低性能的SQL语句的标识以及所述低性能的SQL语句的内容。
9.根据权利要求8所述的***,其特征在于,所述选择信息包括选择条件;相应的,所述获取模块具体用于:根据所述选择条件,在所述报告信息中确定满足所述选择条件的所述低性能的SQL语句的标识以及所述低性能的SQL语句的内容;
或者,
所述选择信息包括选择字段、排序方式以及选择个数,相应的,所述获取模块具体用于:根据所述选择字段以及排序方式,对所述报告信息进行排序,并根据所述选择个数,在排序后的报告信息中确定低性能的SQL语句的标识以及所述低性能的SQL语句的内容。
10.根据权利要求8或9所述的***,其特征在于,所述***还包括设置模块,其中,
所述设置模块用于,在所述获取模块获取用户输入的执行指令,根据用户预设的选择信息,在所述Oracle数据库中获取与所述选择信息对应的低性能的SQL语句的标识以及所述低性能的SQL语句的内容之前,接收用户输入的参数设置指令;
根据所述参数设置指令向用户显示可视化界面,所述可视化界面包括选择信息输入框、以及参数类型输入框;
接收并保存用户在选择信息输入框输入的选择信息,接收并保存用户在参数类型输入框输入的参数类型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511001540.2A CN105653647B (zh) | 2015-12-28 | 2015-12-28 | Sql语句的信息采集方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511001540.2A CN105653647B (zh) | 2015-12-28 | 2015-12-28 | Sql语句的信息采集方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105653647A true CN105653647A (zh) | 2016-06-08 |
CN105653647B CN105653647B (zh) | 2019-04-16 |
Family
ID=56476962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511001540.2A Active CN105653647B (zh) | 2015-12-28 | 2015-12-28 | Sql语句的信息采集方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105653647B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598862A (zh) * | 2016-12-19 | 2017-04-26 | 济南浪潮高新科技投资发展有限公司 | 一种基于sql语义可扩展的性能诊断调优方法 |
CN107247811A (zh) * | 2017-07-21 | 2017-10-13 | 中国联合网络通信集团有限公司 | 基于Oracle数据库的SQL语句性能优化方法及装置 |
CN107402871A (zh) * | 2017-03-28 | 2017-11-28 | 阿里巴巴集团控股有限公司 | 终端性能监控方法及装置、监控文件处理方法及装置 |
CN108345603A (zh) * | 2017-01-22 | 2018-07-31 | 腾讯科技(深圳)有限公司 | 一种sql语句解析方法及装置 |
CN108664616A (zh) * | 2018-05-14 | 2018-10-16 | 浪潮软件集团有限公司 | 一种基于ROWID的Oracle数据批量采集方法 |
CN110297814A (zh) * | 2019-05-22 | 2019-10-01 | 中国平安人寿保险股份有限公司 | 数据库操作的性能监控方法、装置、设备及存储介质 |
CN111797112A (zh) * | 2020-06-05 | 2020-10-20 | 武汉大学 | 一种PostgreSQL预备语句执行优化方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622441A (zh) * | 2012-03-09 | 2012-08-01 | 山东大学 | 一种基于Oracle数据库的自动性能识别调优*** |
CN104820663A (zh) * | 2014-01-30 | 2015-08-05 | 西门子公司 | 发现低性能的sql语句以及预测sql语句性能的方法和装置 |
US20150278304A1 (en) * | 2014-03-26 | 2015-10-01 | International Business Machines Corporation | Autonomic regulation of a volatile database table attribute |
-
2015
- 2015-12-28 CN CN201511001540.2A patent/CN105653647B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622441A (zh) * | 2012-03-09 | 2012-08-01 | 山东大学 | 一种基于Oracle数据库的自动性能识别调优*** |
CN104820663A (zh) * | 2014-01-30 | 2015-08-05 | 西门子公司 | 发现低性能的sql语句以及预测sql语句性能的方法和装置 |
US20150278304A1 (en) * | 2014-03-26 | 2015-10-01 | International Business Machines Corporation | Autonomic regulation of a volatile database table attribute |
Non-Patent Citations (2)
Title |
---|
周锦: ""基于Oracle数据库SQL语句优化规则的研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
李俊炜: ""Oracle数据库低效语句监控定位的方法研究"", 《微型电脑应用》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598862A (zh) * | 2016-12-19 | 2017-04-26 | 济南浪潮高新科技投资发展有限公司 | 一种基于sql语义可扩展的性能诊断调优方法 |
CN108345603A (zh) * | 2017-01-22 | 2018-07-31 | 腾讯科技(深圳)有限公司 | 一种sql语句解析方法及装置 |
CN107402871A (zh) * | 2017-03-28 | 2017-11-28 | 阿里巴巴集团控股有限公司 | 终端性能监控方法及装置、监控文件处理方法及装置 |
CN107247811A (zh) * | 2017-07-21 | 2017-10-13 | 中国联合网络通信集团有限公司 | 基于Oracle数据库的SQL语句性能优化方法及装置 |
CN108664616A (zh) * | 2018-05-14 | 2018-10-16 | 浪潮软件集团有限公司 | 一种基于ROWID的Oracle数据批量采集方法 |
CN110297814A (zh) * | 2019-05-22 | 2019-10-01 | 中国平安人寿保险股份有限公司 | 数据库操作的性能监控方法、装置、设备及存储介质 |
CN111797112A (zh) * | 2020-06-05 | 2020-10-20 | 武汉大学 | 一种PostgreSQL预备语句执行优化方法 |
CN111797112B (zh) * | 2020-06-05 | 2022-04-01 | 武汉大学 | 一种PostgreSQL预备语句执行优化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105653647B (zh) | 2019-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105653647A (zh) | Sql语句的信息采集方法及*** | |
CN102141963B (zh) | 一种数据分析方法和设备 | |
CN110728578A (zh) | 区块链交易的并行执行方法、***及存储介质 | |
US7472108B2 (en) | Statistics collection using path-value pairs for relational databases | |
US20090083224A1 (en) | Summarizing data removed from a query result set based on a data quality standard | |
US20200074509A1 (en) | Business data promotion method, device, terminal and computer-readable storage medium | |
CN105786808A (zh) | 一种用于分布式执行关系型计算指令的方法与设备 | |
CN109840248B (zh) | 一种作业流程优化方法、装置及存储介质 | |
CN107688488A (zh) | 一种基于元数据的任务调度的优化方法及装置 | |
US20070239663A1 (en) | Parallel processing of count distinct values | |
CN110889272A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN108446398A (zh) | 一种数据库的生成方法及装置 | |
CN104123298B (zh) | 产品缺陷的分析方法和设备 | |
CN109635022B (zh) | 一种可视化的ElasticSearch数据采集方法及装置 | |
CN107315652B (zh) | 一种数据备份方法及云hdfs*** | |
CN110222046B (zh) | 列表数据的处理方法、装置、服务器和存储介质 | |
CN102054001A (zh) | 一种数据挖掘***中数据预处理的方法、***及装置 | |
CN105701645A (zh) | 一种物料管理方法及装置 | |
CN113518187B (zh) | 视频编辑方法及设备 | |
CN104537012A (zh) | 数据处理方法和装置 | |
CN103092955B (zh) | 检查点操作方法、装置及*** | |
US8229924B2 (en) | Statistics collection using path-identifiers for relational databases | |
CN101661507A (zh) | 一种数据合并的方法及*** | |
CN110888909B (zh) | 一种评估内容的数据统计处理方法及装置 | |
WO2020201830A1 (en) | Systems and methods for generating, monitoring, and analyzing event networks from event data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |