易截截图软件、单文件、免安装、纯绿色、仅160KB

如何用 SQL Tuning Advisor (STA) 优化SQL语句


在Oracle10g之前,优化SQL是个比较费力的技术活,不停的分析执行计划,加hint,分析统计信息等等。在10g中,Oracle推出了自己的SQL优化辅助工具: SQL优化器(SQL Tuning Advisor :STA),它是新的DBMS_SQLTUNE包。使用STA一定要保证优化器是CBO模式下。
执行DBMS_SQLTUNE包进行sql优化需要有advisor的权限:
SQL> create user dave identified by dave;
用户已创建。
SQL> grant connect,resource to dave;
授权成功。
SQL> grant advisor to dave;
授权成功。
下面简单介绍一下如何优化一条找到的问题语句。
create table bigtab as select rownum as "id",a.* from sys.all_objects a;
create table smalltab as select rownum as "id", a.* from sys.all_tables a;
然后多运行几次下面的脚本,增加表里的数据:
insert into bigtab select rownum as "id",a.* from sys.all_objects a;
insert into smalltab  select rownum as "id", a.* from sys.all_tables a;
这里创建一张大表和一张小表,并且都没有索引,下面执行一个查询:
SQL> set timing on
SQL> set autot on
SQL> select count(*) from bigtab a, smalltab b where a.object_name=b.table_name;
  COUNT(*)
----------
   2141537
已用时间:  00: 00: 20.05
执行计划
----------------------------------------------------------
Plan hash value: 3089226980
--------------------------------------------------------------------------------
| Id  | Operation           | Name     | Rows  | Bytes | Cost (%CPU)| Time     |
----------------------------------------------------


相关文档:

SQL Server 2005中的T SQL增强(2) 快照隔离

快照隔离 Snapshot Isolation
1、写入程序不会阻碍读取程序
2、新的隔离级别提供了以下优点:
1) 提高了只读应用程序的数据可用性
2) 允许在OLTP环境中执行非阻止读取操作
3) 可对写入事务进行自动的强制冲突检测
3、演示代码
CREATE DATABASE demo2
GO
USE demo2
ALTER DATABASE demo2 SET allow_snapsho ......

SQL Server 排序实现函数细说

排名函数是SQL Server2005新加的功能。在SQL Server2005中有如下四个排名函数:
  1. row_number
  2. rank
  3. dense_rank
  4. ntile
  一、row_number
  row_number函数的用途是非常广泛,这个函数的功能是为查询出来的每一行记录生成一个序号。row_number函数的用法如下面的SQL语句所示:
  sel ......

SQL Server 2005 中如何做全文检索

1、查看当前数据库的状态
       SELECT
DATABASEPROPERTY
('pubs'
,'IsFulltextEnabled'
)
 2、打开FullText功能
       sp_fulltext_databse
'enable'
       关闭此功能
     & ......

在Oracle 9i中修改表的结构的相关sql语句

用sql*plus或第三方可以运行sql语句的程序登录数据库:
增加一个列:
ALTER TABLE 表名 ADD(列名 数据类型);
如:
ALTER TABLE emp ADD(weight NUMBER(38,0));
修改一个列的数据类型(一般限于修改长度,修改为一个不同类型时有诸多限制):
ALTER TABLE 表名 MODIFY(列名 数据类型);
如:
ALTER TABLE emp MODIFY(wei ......

SQL注入

      随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号