
Oracle
fatfoxz
fatfox
展开
-
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)级对其进行覆 盖。转载 2007-12-11 17:41:00 · 442 阅读 · 0 评论 -
Oracle 10g中的SQL优化亮点
10G中一些SQL优化的亮点 1、优化器默认为CBO,OPTIMIZER_MODE默认值为ALL_ROWS。不再使用古老的RBO模式,但RULE、CHOOSE并没有彻底消失,有些时候仍然可以作为我们调试的工具。 2、CPU Costing的计算方式现在默认为CPU+I/O两者之和.可通过DBMS_XPLAN.DISPLAY_CURSOR观察更为详细的执行计划。 3、增加了转载 2010-04-28 15:24:00 · 502 阅读 · 0 评论 -
decode函数和行列互换
Decode函数的语法结构如下: decode (expression, search_1, result_1) decode (expression, search_1, result_1, search_2, result_2) decode (expression, search_1, result_1, search_2, result_2, ...., sea转载 2010-04-26 13:24:00 · 1383 阅读 · 0 评论 -
相关子查询和非相关子查询
子查询:嵌套在其他查询中的查询称之。 子查询又称内部查询,而包含子查询的语句称之外部查询(又称主查询)。 所有的子查询可以分为两类,即相关子查询和非相关子查询 1>非相关子查询是独立于外部查询的子查询,子查询总共执行一次,执行完毕后将值传递给外部查询。 2>相关子查询的执行依赖于外部查询的数据,外部查询执行一行,子查询就执行一次。 故非相关子查询比相关子查询效原创 2010-04-26 13:18:00 · 530 阅读 · 0 评论 -
解除oracle数据库中所有外键约束SQL语句
begin for item in (select * from user_constraints a where a.constraint_type = R) loop execute immediate alter table || item.table_name || disable constraint || item.constraint_name; end lo转载 2010-04-26 13:12:00 · 1307 阅读 · 0 评论 -
oracle同时向多表插入数据
单表插入以insert into开头,不能有then into语句.多表插入以insert first/all 开头,可以有then into语句 在Oracle操作过程中经常会遇到同时向多个不同的表插入数据,此时用该语句就非常合适。All表示非短路运算,即满足了第一个条件也得向下执行查看是否满足其它条件,而First是短路运算找到合适条件就不向下进行。INSERT ALL原创 2010-01-13 17:14:00 · 909 阅读 · 0 评论 -
列转行的Oracle SQL实例
SELECT T.ELES_FLG, T.SENDUNIT_NAME, T.ROM_SEQNO, LTRIM(MAX(SYS_CONNECT_BY_PATH(T.MODEL, ,)), ,) MODEL FROM (SELECT ELES_FLG, SENDUNIT_NAME,原创 2010-01-06 17:28:00 · 1915 阅读 · 3 评论 -
DBA应该掌握的SQL语句
1.关于数据库构架体系①表空间的监控是一个重要的任务,我们必须时刻关心表空间的设置,是否满足现在应用的需求,以下的语句可以查询到表空间的详细信息。 SQL codeSELECT TABLESPACE_NAME, INITIAL_EXTENT, NEXT_EXTENT, MIN_EXTENTS, MAX_EXTENTS, PCT_INCRE转载 2010-01-06 17:26:00 · 683 阅读 · 0 评论 -
本人写的第一个PL/SQL过程
看到别人在论坛的提问:一个表的效率问题今天碰到2张表 1张 有字段 表A有 jtbh(家庭编号) hzxm(户主姓名) hnbh(户内最大编号) 1000 张三 03 1001 赵六.......................... 表B有 grbh(个人编号=家庭编号+2位户内编号) xm(姓名) gz(工资) 100001原创 2010-01-06 17:09:00 · 523 阅读 · 0 评论 -
ORA-01653:表空间扩展失败的问题
今天发现,原来设备的数据表空间只有5M,已经满了,上网去找发现要进行扩展空间。 一、脚本修改方式:----查询表空间使用情况---使用DBA权限登陆SELECT UPPER(F.TABLESPACE_NAME) "表空间名",D.TOT_GROOTTE_MB "表空间大小(M)",D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",TO_CHAR(R转载 2009-12-31 09:26:00 · 2383 阅读 · 0 评论 -
110个oracle常用函数总结
1. ASCII 返回与指定的字符对应的十进制数; SQL> select ascii(A) A,ascii(a) a,ascii(0) zero,ascii( ) space from dual; A A ZERO SPACE --------- --------- --------- --------- 65 97 48 32 2. CHR 给出整数,返回对应的字符; SQL> selec转载 2009-12-31 09:22:00 · 613 阅读 · 0 评论 -
oracle的正则表达式(regular expression)简单介绍
目前,正则表达式已经在很多软件中得到广泛的应用,包括*nix(Linux, Unix等),HP等操作系统,PHP,C#,Java等开发环境。 Oracle 10g正则表达式提高了SQL灵活性。有效的解决了数据有效性, 重复词的辨认, 无关的空白检测,或者分解多个正则组成的字符串等问题。 Oracle 10g支持正则表达式的四个新函数分别是:REGEXP_LIKE、REGEXP_转载 2009-12-29 16:53:00 · 530 阅读 · 0 评论 -
常用sql语句
1.限制返回记录的行数(4-10行)select rownum,c1 from t144 where rownumminusselect rownum,c1 from t144 where rownum2.批量插入 insert into tablename(select * from othertable)或insert into (column1,column2,,,,,,转载 2009-12-22 11:41:00 · 349 阅读 · 0 评论 -
行转列通用过程
(转自狂浪的帖子) 1.使用视图SQL codecreateorreplaceprocedure row_to_col(tabnameinvarchar2, group_colinvarchar2, column_colinvarchar2,转载 2010-01-26 17:21:00 · 663 阅读 · 0 评论 -
oracle 中恢复误删的表
select * from user_recyclebin where original_name like FINANCE_% order by droptime desc;FLASHBACK TABLE FINANCE_CASE_FEE_ITEM TO BEFORE DROP即所有drop的表都在 user_recyclebin 这个oracle回收站里面的,再通过flash转载 2010-01-19 10:46:00 · 476 阅读 · 0 评论 -
行转列的通用过程
经常遇到发帖求行列转换的代码,用max(decode(..))回复后,十有八九会再问一句:如果列名不固定,或者列数不固定怎么办。就要用存储过程来写,这些存储过程的代码都大同小异,我就想能不能写个通用点的过程试了一下,把结果发出来SQL codecreate or replace procedure proc(tabname in varchar2,转载 2010-01-18 17:01:00 · 694 阅读 · 0 评论 -
SQL语句优化方法30例
在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见OracleHINT的用法: 1. /*+ALL_ROWS*/表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化. 例如: SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO=SCOTT; 2. /*+F转载 2010-01-18 17:00:00 · 579 阅读 · 0 评论 -
oracle中常用函数大全
1、数值型常用函数 函数 返回值 样例 显示ceil(n) 大于或等于数值n的最小整数 select ceil(10.6) from dual; 11floor(n) 小于等于数值n的最大整数 select ceil(10.6) from dual; 10mod(m,n) m除以n的余数,若n=0,则返回m select mod转载 2010-01-19 10:49:00 · 548 阅读 · 0 评论 -
oracle用户权限及角色
每个Oracle用户都有一个名字和口令,并拥有一些由其创建的表、视图和其他资源。Oracle角色(role)就是一组权限(privilege)(或者是每个用户根据其状态和条件所需的访问类型)。用户可以给角色授予或赋予指定的权限,然后将角色赋给相应的用户。一个用户也可以直接给其他用户授权。 数据库系统权限(Database System Privilege)允许用户执行特定的命令集。例如,转载 2010-05-25 12:33:00 · 600 阅读 · 0 评论