`
nenty
  • 浏览: 109520 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
1. 用EXPLAIN PLAN 分析SQL语句   EXPLAIN PLAN 是一个很好的分析SQL语句的工具,它甚至可以在不执行SQL的情况下分析语句。 通过分析,我们就可以知道ORACLE是怎么样连接表,使用什么方式扫描表(索引扫描或全表扫描)以及使用到的索引名称。   你需要按照从里到外,从上到下的次序解读分析的结果。 EXPLAIN PLAN分析的结果是用缩进的格式排列的, 最内部的操作将被最先解读, 如果两个操作处于同一层中,带有最小操作号的将被首先执行。   NESTED LOOP是少数不按照上述规则处理的操作, 正确的执行路径是检查对NESTED LOOP提供数据的操作,其中操作 ...
  1. 使用表的别名(Alias)   当在SQL语句中连接多个表时, 请使用表的别名并把别名前缀于每个Column上。这样一来,就可以减少解析的时间并减少那些由Column歧义引起的语法错误。   (Column歧义指的是由于SQL中不同的表具有相同的Column名,当SQL语句中出现这个Column时,SQL解析器无法判断这个Column的归属)   2. 用EXISTS替代IN   在许多基于基础表的查询中,为了满足一个条件,往往需要对另一个表进行联接。在这种情况下, 使用EXISTS(或NOT EXISTS)通常将提高查询的效率。   低效:   SELECT *   FROM E ...
1. 删除重复记录   最高效的删除重复记录方法 ( 因为使用了ROWID) DELETE FROM EMP E WHERE E.ROWID > (SELECT MIN(X.ROWID)                    FROM EMP X                    WHERE X.EMP_NO = E.EMP_NO);   2. 用TRUNCATE替代DELETE   当删除表中的记录时,在通常情况下, 回滚段(rollback segments ) 用来存放可以被恢复的信息。 如果你没有COMMIT事务,ORACLE会将数据恢复到删除之前的状态(准确地说 ...
ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾。   例如:   (低效,执行时间156.3秒)   SELECT …   FROM EMP E   WHERE SAL > 50000   AND JOB = ‘MANAGER’   AND 25 < (SELECT COUNT(*) FROM EMP   WHERE MGR=E.EMPNO);   (高效,执行时间10.6秒)   SELECT …   FROM EMP E   WHERE 25 ...
Oracle sql 性能优化调整   1. 选用适合的ORACLE优化器   ORACLE的优化器共有3种:   a. RULE (基于规则)   b. COST (基于成本)   c. CHOOSE (选择性)   设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖。   为了使用基于成本的优化器(CBO, Cost-Based Optimizer) , 你必须经常运行analyze 命令,以增加数据库中的对象 ...

oracle关键字

    博客分类:
  • sql
一般保留关键字不能用做对象名 ACCESS  ADD  ALL  ALTER  AND  ANY  AS  ASC  AUDIT  BETWEEN  BY  CHAR CHECK  CLUSTER  COLUMN  COMMENT  COMPRESS  CONNECT  CREATE  CURRENT DATE  DECIMAL  DEFAULT  DELETE  DESC  DISTINCT  DROP  ELSE  EXCLUSIVE EXISTS  FILE  FLOAT FOR  FROM  GRANT  GROUP  HAVING  IDENTIFIED IMMEDIATE  IN  ...
1.      LoadRunner:支持多种常用协议多且个别协议支持的版本比较高;可以设置灵活的负载压力测试方案,可视化的图形界面可以监控丰富的资源;报告可以导出到Word、Excel以及HTML格式。 2.       WebLoad:webload是RadView公司推 ...
Java 关键字 速查表 访问控制: private 私有的 protected 受保护的 public 公共的 类、方法和变量修饰符 abstract 声明抽象 class 类 extends 扩允,继承 final 终极,不可改变的 implements实现 interface 接口 native 本地 new 新,创建 static 静态 strictfp 严格,精准 synchronized 线程,同步 transient 短暂 volatile 易失 程序控制语句 break 跳出循环 continue 继续 return 返回 do 运行 while 循环 if 如果 else ...
1.Eager//狂汉式 public class EagerInitialization { private static Resource resource = new Resource(); public static Resource getResource() { return resource; }   static class Resource {   } } 2.Lazy//懒汉式 public class SafeLazyInitialization { private static Resource resource; public synchroniz ...
一、run()和start()     这两个方法应该都比较熟悉,把需要并行处理的代码放在run()方法中,start()方法启动线程将自动调用 run()方法,这是由Java的内存机制规定的。并且run()方法必须是public访问权限,返回值类 ...
一、JMX简介   JMX是一种JAVA的正式规范,它主要目的是让程序且有被管理的功能,那么怎么理解所谓的“被管理”呢?试想你开发了一个软件(如WEB网站),它是在24小时不简断运行的,那么你可能会想要“监控”这个软件的运行情况,比如收到了多少数据,有多少人登录等等。或者你又想“配置”这个软件,比如现在访问人数比较多,你想把数据连接池设置得大一些。   当然,你也许会专门为这些管理来开发软件,但如果你借助JMX,则会发现创建这样的管理程序是如此简单。因为你无需为管理程序来开发界面,已经有通用的JMX管理软件,如MC4J,或者是用一般都附带提供的HTML网页来管理,你要做的仅仅是将自己要被 ...
★→→SessionFactory (org.hibernate.SessionFactory) 包含已经编译的映射(mappings),是制造session的工厂,可能含有一些可以在 各个事务(transaction)之间共享的数据 (1) SessionFactory的缓存 可分为两类:内置缓存和外置缓存。 SessionFactory的内置 ...
Hibernate主键产生器的可选项说明: 1) Assigned      主键由外部程序负责生成,无需Hibernate参与。 2) hilo      通过hi/lo 算法实现的主键生成机制,需要额外的数据库表保存主键生成历史状态。 3) seqhilo      与hilo 类似,通 ...
包                          作用                  说明 jta.jar                 标准的JTA API       必要 commons-logging.jar     日志功能              必要 commons-collections.jar  集合类               必要 antlr.jar    ANother Tool for Language Recognition(antlr)    必要 dom4j.jar          XML配置和映射解释器        必要  Hibernate3 ...
[i][/i]Struts和JSF/Tapestry都属于表现层框架,这两种分属不同性质的框架,后者是一种事件驱动型的组件模型,而Struts只是单纯的MVC模式框架,老外总是急吼吼说事件驱动型就比MVC模式框架好,何以见得,我们下面进行详细分析比较一下到底是怎么回事?   首先事件是指从客户端页面(浏览器)由用户操作触发的事件,Struts使用Action来接受浏览器表单提交的事件,这里使用了Command模式,每个继承Action的子类都必须实现一个方法execute。   在struts中,实际是一个表单Form对应一个Action类(或DispatchAction),换一句话说:在Str ...
Global site tag (gtag.js) - Google Analytics