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

【转】 ORACLE常用SQL优化hint语句

ORACLE常用SQL优化hint语句
http://oracle.chinaitlab.com/induction/802186.html
在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle HINT的用法:
  1. /*+ALL_ROWS*/
  表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.
  例如:
  SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN from BSEMPMS WHERE EMP_NO=’SCOTT’;
  2. /*+FIRST_ROWS*/
  表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化.
  例如:
  SELECT /*+FIRST_ROWS*/ EMP_NO,EMP_NAM,DAT_IN from BSEMPMS WHERE EMP_NO=’SCOTT’;
  3. /*+CHOOSE*/
  表明如果数据字典中有访问表的统计信息,将基于开销的优化方法,并获得最佳的吞吐量;
  表明如果数据字典中没有访问表的统计信息,将基于规则开销的优化方法;
  例如:
  SELECT /*+CHOOSE*/ EMP_NO,EMP_NAM,DAT_IN from BSEMPMS WHERE EMP_NO=’SCOTT’;
  4. /*+RULE*/
  表明对语句块选择基于规则的优化方法.
  例如:
  SELECT /*+ RULE */ EMP_NO,EMP_NAM,DAT_IN from BSEMPMS WHERE EMP_NO=’SCOTT’;
  5. /*+FULL(TABLE)*/
  表明对表选择全局扫描的方法.
  例如:
  SELECT /*+FULL(A)*/ EMP_NO,EMP_NAM from BSEMPMS A WHERE EMP_NO=’SCOTT’;
  6. /*+ROWID(TABLE)*/
  提示明确表明对指定表根据ROWID进行访问.
  例如:
  SELECT /*+ROWID(BSEMPMS)*/ * from BSEMPMS WHERE ROWID>=’AAAAAAAAAAAAAA’
  AND EMP_NO=’SCOTT’;
  7. /*+CLUSTER(TABLE)*/
  提示明确表明对指定表选择簇扫描的访问方法,它只对簇对象有效.
  例如:
  SELECT /*+CLUSTER */ BSEMPMS.EMP_NO,DPT_NO from BSEMPMS,BSDPTMS
  WHERE DPT_NO=’TEC304′ AND BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;
  8. /*+INDEX(TABLE INDEX_NAME)*/
  表明对表选择索引的扫描方法.
  例如:
  SELECT /*+INDEX(BSEMPMS SEX_INDEX) USE SEX_INDEX BECAUSE THERE ARE FEWMALE BSEMPMS */ from BSEMPMS WHERE SEX=’M';
  9. /*+INDEX_ASC(TABLE INDEX_NAME)*/
  表明对表选择索引升序的扫描方法.
  例如:
  SELECT /*+INDEX_ASC(BSEMPMS PK_BSEMPMS) */ from BSEMPMS WHERE DP


相关文档:

VC下利用Pro*C开发Oracle接口

本文介绍了使用Pro*C/C++在Visual
C++环境下开发Oracle数据库接口程序的方法
设计思路其实这样:首先通过VC建立一个工程,自动化建立MAKEFILE,UNIX需要自己写MAKEFILE。
其次配置VC的环境,将PROC的.H,.LIB的路径加入DERECTIRY。写一个PC文件,即PROC文件。放到工程相应的目录下。然后把PC文件加入工程。使用PROCUI.E ......

linq to sql 中的in 操作实现


        string s = " 80,81,83,82";
        string[] s1 = s.Split(',');
        int[] p = new int[s1.Count()];
        for (int i = 0; i < s1.Count( ......

SQL 获取列名 利用系统表

SELECT sysobjects.name,syscolumns.name
from  sysobjects,syscolumns
WHERE(sysobjects.id=syscolumns.id)
select col_name(OBJECT_ID('staff'),17)
select name
from syscolumns
where id=object_id('你的表名'); ......

2种连接数据库和读取sql文件添加数据库和表

import java.io.*;
import java.sql.*;
public class DBConn {
 private String ADDRESS ;
 private int PORT ;
 private String DBNAME ;
 private String USERNAME ;
 private String PASSWORD ;
 private Connection conn ;
 private PreparedStatement pstmt ;
 pri ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号