V$SQLAREA    本视图持续跟踪所有shared pool中的共享cursor,在shared pool中的每一条SQL语句都对应一列。本视图在分析SQL语句资源使用方面非常重要。  V$SQLAREA中的信息列  HASH_VALUE:SQL语句的Hash值。  ADDRESS:SQL语句在SGA中的地址。  这两列被用于鉴别SQL语句,有时,两条不同的语句可能hash值相同。这时候,必须连同ADDRESS一同使用来确认SQL语句。  PARSI…

2015/07/03 0条评论 1373点热度 0人点赞 阅读全文

SELECT子句中避免使用 “*”      当你想在SELECT子句中列出所有的COLUMN时,使用动态SQL列引用 ‘*’ 是一个方便的方法.不幸的是,这是一个非常低效的方法. 实际上,ORACLE在解析的过程中, 会将“*” 依次转换成所有的列名, 这个工作是通过查询数据字典完成的, 这意味着将耗费更多的时间.  使用DECODE函数来减少处理时间      使用DECODE函数可以避免重复扫描相同记录或重复连接相同的表. 例如: …

2014/08/09 1条评论 2095点热度 0人点赞 阅读全文

Oracle的group by除了基本用法以外,还有3种扩展用法,分别是rollup、cube、grouping sets。  rollup 假设有一个表test,有A、B、C、D、E5列。     如果使用group by rollup(A,B,C),首先会对(A、B、C)进行GROUP BY,然后对(A、B)进行GROUP BY,然后是(A)进行GROUP BY,最后对全表进行GROUP BY操作。roll up的意思是“卷起”,这也可以帮助我们理解group by rollup就…

2014/07/22 0条评论 1999点热度 0人点赞 阅读全文

    在使用SHH进行J2EE轻量级项目开发时,用到了oracle11g的数据库,但是在对表中的数据进行排序分页时,有时会莫名其妙的出现排序错乱,翻页后数据显示重复的问题。开始以为是hibernate的问题,跟踪代码将hibernate生成的sql语句输出到控制台然后在PL/SQL中执行,发现生成的sql语句有点问题,执行的结果数据集根本就不对,就是Hibernate的问题,但是这个问题很容易就被发现,毕竟hibernate作为开源项目,并且应用广泛,如果是BUG,早就应该被fix掉…

2014/06/24 0条评论 2643点热度 0人点赞 阅读全文

在win7 64位系统安装的oracle11g64位,在使用plsql连接数据库的时候,打开plsql数据库里都是空的,tnsnames.ora我都配置了啊,百度了下,plsql不能依赖于64位的oracle,那就安装一个32位的客户端吧 安装32位的Oracle客户端( instantclient-basic-nt-12.1.0.1.0.zip)   下载instantclient-basic-nt-12.1.0.1.0.zip (一定得是32位的,不要下错了版本,Oracle官网有下载),将其解压至O…

2013/11/25 2条评论 6327点热度 0人点赞 阅读全文

方法一:通过dbms_random.random select * from (select * from your_table order by dbms_random.random) where rownum < 1000; 方法二:通过dbms_random.value select * from (select * from…

2013/10/09 0条评论 2657点热度 0人点赞 阅读全文