Sql Tuning Advisor的大致过程测试!

可以通过em使用Sql Tuning Advisor来寻找sql的优化建议,这里使用了package:DBMS_SQLTUNE获得sql优化的建议,只是想大致了解下Sql Tuning Advisor的过程。[@more@]

SQL> create table t1(id int , name varchar2(10));

表已创建。
SQL> create table t2(id int , name char(1000));

表已创建。

SQL> begin
2 for i in 1..10000 loop
3 insert into t1 values(i,'a'||i);
4 insert into t2 values(i,'b'||i);
5 end loop
6 ;
7 commit;
8 end;
9 /

PL/SQL 过程已成功完成。

SQL> DECLARE
2 my_task_name VARCHAR2(30);
3 my_sqltext CLOB;
4 BEGIN
5 my_sqltext := 'select /*+ use_nl(t1 ,t2)*/ count(*) from t1,t2 where t1.i
d=t2.id and t1.id<:id> 6
7 my_task_name := DBMS_SQLTUNE.CREATE_TUNING_TASK(
8 sql_text => my_sqltext,
9 bind_list => sql_binds(anydata.ConvertNumber(10000)),
10 user_name => 'TEST',
11 scope => 'COMPREHENSIVE',
12 time_limit => 60,
13 task_name => 'my_sql_tuning_task',
14 description => 'Task to tune a query on a specified t1 and t2');
15 END;
16 /

PL/SQL 过程已成功完成。

SQL>
SQL> select owner,task_name from dba_advisor_tasks where owner='TEST' and task_n
ame='my_sql_tuning_task';

OWNER TASK_NAME
------------------------------ ------------------------------
TEST my_sql_tuning_task

SQL>
SQL> BEGIN
2 DBMS_SQLTUNE.EXECUTE_TUNING_TASK( task_name => 'my_sql_tuning_task' );
3 END;
4 /

PL/SQL 过程已成功完成。

SQL> select message,more_info from dba_advisor_findings where owner='TEST' AND t
ask_name='my_sql_tuning_task';

MESSAGE MORE_INFO
------------------------------ -------------------------------------------------
-
通过创建一个或多个索引可以改进
此语句的执行计划。

尚未分析表 "TEST"."T2"。
尚未分析表 "TEST"."T1"。
为此语句找到了性能更好的执行计
划。


SQL>
SQL> select type,benefit from dba_advisor_recommendations where task_name='my_sq
l_tuning_task';

TYPE BENEFIT
------------------------------ ----------
INDEX 9576
STATISTICS 0
STATISTICS 0
SQL PROFILE 9952

SQL>
SQL> SET LONG 1000
SQL> SET LONGCHUNKSIZE 1000
SQL> SET LINESIZE 100
SQL> SELECT DBMS_SQLTUNE.REPORT_TUNING_TASK( 'my_sql_tuning_task')
2 FROM DUAL;

DBMS_SQLTUNE.REPORT_TUNING_TASK('MY_SQL_TUNING_TASK')
--------------------------------------------------------------------------------
--------------------
GENERAL INFORMATION SECTION
-------------------------------------------------------------------------------
Tuning Task Name : my_sql_tuning_task
Tuning Task Owner : TEST
Scope : COMPREHENSIVE
Time Limit(seconds) : 60
Completion Status : COMPLETED
Started at : 11/05/2008 12:57:47
Completed at : 11/05/2008 12:57:48
Number of Statistic Findings : 2
Number of SQL Profile Findings : 1

DBMS_SQLTUNE.REPORT_TUNING_TASK('MY_SQL_TUNING_TASK')
--------------------------------------------------------------------------------
--------------------
Number of Index Findings : 1

-------------------------------------------------------------------------------
Schema Name: TEST
SQL ID : 00nrxn055pdj2
SQL Text : select /*+ use_nl(t1 ,t2)*/ count(*) from t1,t2 where
t1.id=t2.id and t1.id<:id>

-------------------------------------------------------------------------------
FINDINGS SECTION (4 findings)
-------------------------------------------------------------------------------

DBMS_SQLTUNE.REPORT_TUNING_TASK('MY_SQL_TUNING_TASK')
--------------------------------------------------------------------------------
--------------------

1- Statist


SQL>

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/19602/viewspace-1012965/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/19602/viewspace-1012965/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQL Server性能测试是评估数据库系统在不同负载条件下的性能表现的过程。通过性能测试,可以确定数据库在处理大量数据和并发用户请求时的响应时间、吞吐量和资源利用率等指标。 下面是一些常见的SQL Server性能测试方法和工具: 1. 基准测试:通过模拟真实的工作负载来测试数据库的性能。可以使用工具如HammerDB、TPC Benchmark等来执行基准测试,并记录关键指标如响应时间、事务吞吐量等。 2. 压力测试:通过增加并发用户数或者增加数据量来测试数据库在高负载情况下的性能。可以使用工具如SQLQueryStress、Apache JMeter等来模拟并发用户请求,并观察数据库的响应时间和资源利用率。 3. 负载测试:通过模拟真实的业务场景来测试数据库的性能。可以使用工具如SQL Server Profiler、Extended Events等来捕获数据库的实时性能数据,并进行分析和优化。 4. 容量规划测试:通过模拟未来预期负载来评估数据库的容量求。可以使用工具如Database Engine Tuning Advisor来分析数据库的查询和索引,并提供容量规划建议。 在进行SQL Server性能测试时,要注意以下几点: 1. 确定测试目标和场景:明确测试的目标和预期结果,选择适合的测试场景和负载模型。 2. 准备测试环境:创建一个与生产环境相似的测试环境,包括硬件、操作系统、数据库版本和配置等。 3. 监控和分析性能数据:使用SQL Server的性能监视工具来收集和分析数据库的性能数据,如查询执行计划、锁定和阻塞情况等。 4. 优化和调整:根据性能测试结果,进行数据库的优化和调整,如优化查询、调整索引、增加硬件资源等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值