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人点赞 阅读全文

比如在Northwind数据库中有一个查询为 SELECT c.CustomerId,CompanyName FROM Customers c WHERE EXISTS( SELECT OrderID FROM Orders o WHERE o.CustomerID=c.CustomerID) 这里面的EXISTS是如何运作呢?子查询返回的是OrderId字段,可是外面的查询要找的是CustomerID和C…

2014/08/05 0条评论 2039点热度 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人点赞 阅读全文

首先要查询出服务器端的oracle的语言环境 select userenv('language') nls_lang from dual 我这边查询出来的是:AMERICAN_AMERICA.UTF8 方法一: 在plsqldev.exe同级目录新建start.bat, 添加如下内容,每次启动的时候设置语言环境 rem 解决64位下plsql乱码问题   set NLS_LANG=AMERICAN_AMERICA.UTF…

2014/04/03 0条评论 2273点热度 0人点赞 阅读全文

    Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了。  INSERT INTO SE…

2014/04/02 0条评论 1979点热度 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人点赞 阅读全文

在做数据迁移的时候,最蛋疼的就是数据之间的外键关联.这种硬关联在来回的导数据的时候也特别的让人纠结. 我们的系统中,企业基本信息(BASE_QYJBXX)和人员基本信息(BASE_RYJBXX)的关联是通过企业人员关系表(BASE_QYRYGXB)来关联的. BASE开头的表示我们的基础数据,企业在做业务的时候都会把BASE表给的基础数据,拷贝到过程表(PROCESS_*)里,来让客户做修改. 最后通过审批以后,过程表(PROCESS_*)中的数据会回写到BASE_*表中. insert into PROCESS_…

2013/06/19 0条评论 2071点热度 0人点赞 阅读全文
12