转:oracle驱动表
摘要:以一个比较两本字典来做例子: 一本字典有索引目录(dict a), 一本没有(dict b) 现在要找出所有a开头的单词的异同 那么比较的时候,你会怎么比较? 合理的做法应该是以没有索引的字典dict b开始, 找到a开头的那一页, 然后对于每个单词, 通过使用索引在dict a中找到相应的条目 如
阅读全文
posted @
2017-02-21 11:23
无尽的缥缈
阅读(1874)
推荐(0) 编辑
oracle索引-二元高度
摘要:本文转载 作为数据库管理员来说,要在表上建立索引很简单。但是要知道这个索引是否合适、如何优化索引则就具有一定的难度。这项工作也是用来评价一个数据库管理员是否算得上专家的一个重要指标。那么为什么索引优化有这么大的难度呢?这主要是因为索引优化是考察一个数据库管理员经验的时候。笔者今天就跟大家分享一下这方
阅读全文
posted @
2017-02-07 14:25
无尽的缥缈
阅读(591)
推荐(0) 编辑
oracle Data blocks,Extents,Segments
摘要:转载 先看Data blocks(也叫逻辑块,oracle块,页)吧,oracle存储数据都是在这些数据块中,一个数据块是磁盘上数据库物理空间一系列物理字节的组成。 比Data blocks更高一层的逻辑数据块空间是extent,一个extent是由一系列临近的存储信息的数据块组成。 最高一层的逻辑
阅读全文
posted @
2017-02-06 18:24
无尽的缥缈
阅读(832)
推荐(0) 编辑
Oracle Index Clustering Factor(集群因子)
摘要:一、本文说明: 今天在做测试的时候发现字段上有索引,但是执行计划就是不走索引,经过在网上查找才发现原来是索引的集群因子过高导致的。本文属于转载 二、官网说明 The index clustering factor measures row order in relation to an indexe
阅读全文
posted @
2017-02-06 17:51
无尽的缥缈
阅读(897)
推荐(0) 编辑
oracle管理优化必备语句以及oracle SQL语句性能调整
摘要:本文转自http://www.dataguru.cn/article-3302-1.htmloracle数据库管理优化必备语句:1、SELECT T.START_TIME,T.USED_UBLK,S.USERNAME,R.SEGMENET_NAME FROM V$TRANSACTION T,V$SESSION S,V$DBA_ROLLBACK_SEGS R WHERE T.SES_ADDR=S.SADDRAND T.XIDUSN=R.SEGMENT_ID运行的是无数,用户,保护的撤销段,启动时间以及生成的撤销块的数目。2、alter tablespace undo_garantee reten
阅读全文
posted @
2013-08-16 10:32
无尽的缥缈
阅读(417)
推荐(0) 编辑
orale存储技术
摘要:一.存储的主要作用1.海量存储 阵列存储 光盘存储 磁带存储 数据迁移 文件服务器,跨平台文件共享2.容灾 数据备份及恢复:磁带、光盘、阵列 数据复制:本地镜像、远程镜像3.高可用集群,双机容错、容错系统二.海量存储1.在线存储 阵列存储—直接存储 光盘存储— DVD-RAM,需要软件支持 磁带存储—需要软件支持 文件共享2.非在线存储 数据备份—磁带库或阵列 数据迁移—磁带库、光盘库或阵列三.数据备份数据备份: 通过采用数据备份软件(如Veritas 的Backup软件等)将数据备份到磁带或其他介质上,当主机的数据丢失后, 可以在一定的时间内将数据或数据库恢复。存在的问题: 数据备份通常是采
阅读全文
posted @
2013-07-27 13:48
无尽的缥缈
阅读(254)
推荐(0) 编辑
oracle 索引(3)
摘要:位图索引位图索引非常适合于决策支持系统(DecisionSupportSystem,DSS)和数据仓库,它们不应该用于通过事务处理应用程序访问的表。它们可以使用较少到中等基数(不同值的数量)的列访问非常大的表。尽管位图索引最多可达30个列,但通常它们都只用于少量的列。 位图索引主要针对大量相同值的列而创建。拿全国居民登录一第表来说,假设有四个字段:姓名、性别、年龄、和身份证号,年龄和性别两个字段会产生许多相同的值,性别只有男女两种值,年龄,1到120(假设最大年龄120岁)个值。那么不管一张表有几亿条记录,但根据性别字段来区分的话,只有两种取值(男、女)。那么位图索引就是根据字段的这个特性所建
阅读全文
posted @
2013-07-17 11:18
无尽的缥缈
阅读(220)
推荐(0) 编辑
oralce 索引(2)
摘要:B-Tree 索引本文来自网上整理 来自以下博客内容http://www.360doc.com/content/13/0712/11/13136648_299364992.shtml;http://www.cnblogs.com/fnng/archive/2012/10/10/2719221.html;B-Treeindex也是我们传统上常见所理解的索引。B-tree(balancetree)即平衡树,左右两个分支相对平衡。B树索引在Oracle中是一个通用索引。在创建索引时它就是默认的索引类型。B树索引可以是一个列的(简单)索引,也可以是组合/复合(多个列)的索引。B树索引最多可以包括32列
阅读全文
posted @
2013-07-17 11:02
无尽的缥缈
阅读(258)
推荐(0) 编辑
oralce 索引(1)
摘要:本文来自网上整理 来自以下博客内容 http://www.360doc.com/content/13/0712/11/13136648_299364992.shtml; http://www.cnblogs.com/fnng/archive/2012/10/10/2719221.html; 索引的概
阅读全文
posted @
2013-07-12 14:37
无尽的缥缈
阅读(394)
推荐(0) 编辑
count(*) 和count(1) 有区别吗
摘要:create table test1 (a varchar2(2),b varchar2(2));insert into test1 values ('b','c');insert into test1 values ('c','e');insert into test1 values (null,'c');insert into test1 values ('e',null);首先他们通过查询计划效率是一样的,其次他们查到的数据也是一样的。例子: SQL> select count(*) f
阅读全文
posted @
2013-07-09 11:23
无尽的缥缈
阅读(349)
推荐(0) 编辑
Hash Join 一定是选择小表作为驱动表吗
摘要:原来自己也是一直认为oralce会选择小表作为驱动表,以前一直也没注意,今天看了落落大神的实验,才发现,oralce查询时不一定选择小表作为驱动表。如果对大表增加了约束,大表也会作为驱动表。实验见落落大神博客http://blog.csdn.net/robinson1988/article/details/5394365
阅读全文
posted @
2013-07-09 10:23
无尽的缥缈
阅读(469)
推荐(0) 编辑
oracle for loop 简单
摘要:declare i NUMBER;beginfor i in4..100 loopINSERT INTO emp VALUES(i,i);end LOOP;END;
阅读全文
posted @
2013-06-19 20:18
无尽的缥缈
阅读(263)
推荐(0) 编辑
oracle正则表达式
摘要:每天进步一点点,不管是什么渠道学习,进步才是王道,这篇文档来自于网摘。一.概念介绍Oracle中的支持正则表达式的函数主要有下面四个:1,REGEXP_LIKE :与LIKE的功能相似2,REGEXP_INSTR :与INSTR的功能相似3,REGEXP_SUBSTR :与SUBSTR的功能相似4,REGEXP_REPLACE :与REPLACE的功能相似它们在用法上与Oracle SQL 函数LIKE、INSTR、SUBSTR 和REPLACE 用法相同,但是它们使用POSIX 正则表达式代替了老的百分号(%)和通配符(_)字符。POSIX 正则表达式由标准的元字符(metacharacte
阅读全文
posted @
2013-06-16 22:33
无尽的缥缈
阅读(306)
推荐(0) 编辑
oracle数据类型
摘要:Oracle 数据类型Char 固定长度字符串 最大长度2000 bytes 每行定长(不足部分补为空格);缺省值为每行1字节。设置长度(size)前需考虑字符集为单字节或多字节。Varchar2 可变长度的字符串 最大长度4000 bytes每行长度可变,最大长度为每行4000字节。设置长度(size)前需考虑字符集为单字节或多字节。NCHAR 根据字符集而定的固定长度字符串 最大长度2000 bytes由字符集决定缺省值为1个字符或1个字节。NVARCHAR2 根据字符集而定的可变长度字符串 最大长度4000 bytesDATE 日期(日-月-年) DD-MM-YY(HH-MI-SS)LO
阅读全文
posted @
2013-05-29 15:27
无尽的缥缈
阅读(180)
推荐(0) 编辑
oracle分析函数(一)
摘要:主要是GROUPING SETS和ROLLUP函数,具体意思不好说清楚,只能通过例子来学习。原表数据,如下图GROUPING SETS测试,下面两段代码运行结果是一样,select id,area,stu_type,sum(score) score from studentsgroup by grouping sets(id,area,stu_type)select a.id, null, null, sum( score ) from students a group by a.idunion allselect null, a.area, null, sum( score ) from s
阅读全文
posted @
2013-05-21 15:51
无尽的缥缈
阅读(225)
推荐(0) 编辑
oracle数据库表部分字段双向同步,利用包和触发器实现(转载)
摘要:转自http://www.cnblogs.com/junyuz/archive/2013/05/13/3075157.html虽然现在用不上,可能以后会用上,不错的方法。需求:数据库里面有两张表,结构不完全相同,需要实时同步两张表的部分字段实现方案:两张表上分别建立触发器进行同步,但是这样操作会有个问题,就会导致触发器循环触发。那么就需要在触发器进行触发前,进行一个判断,如果操作是由触发器引发的,那么就不做操作,反之,执行触发器定义的操作。想要实现这个,我开始考虑过在触发器a里面暂时使触发器b失效,但是发现alter trigger disable不合法;然后看到有人提到在表里面新增一个字段,
阅读全文
posted @
2013-05-13 14:42
无尽的缥缈
阅读(335)
推荐(0) 编辑
oralce执行计划(三)
摘要:转自http://www.cnblogs.com/cardon/archive/2011/03/08/1977623.html。
阅读全文
posted @
2013-05-13 10:53
无尽的缥缈
阅读(160)
推荐(0) 编辑
oracle执行计划(二)
摘要:一.oralce查看执行计划Pl/sql 工具1.直接File->New->Explain Plan Window,在窗口中执行sql可以查看计划结果。其中,Cost表示cpu的消耗,单位为n%,Cardinality表示执行的行数,等价Rows。2.先执行EXPLAIN PLAN FOR select * from emp e ,dept d where e.deptno=d.deptno,然后再执行select * from table(DBMS_XPLAN.DISPLAY),就可以看到执 行计划了。3.Sqlplus 中首先 set trace on,然后执行sql语句就会出
阅读全文
posted @
2013-05-13 10:43
无尽的缥缈
阅读(363)
推荐(0) 编辑
dba_extents和dba_segments不一致问题及原因
摘要:今天发现这两个视图查询出来的空间有差异,通过网上查找,看到eygle大师的博客以及其他网友的资料,简单总结一下:以下是转载网站:http://www.eygle.com/archives/2009/08/dba_extents_dba_segments.htmlhttp://www.dbafan.com/blog/?p=146看到都是从Metalink上得到答案,一句话,对于我们使用dba_extents时绝对正确的,至于两者差距主要是由于个并行索引创建、频繁的DELETE/INSERT等操作中,Segemnt Header信息未能及时更新,导致段头记录的空间值和Extent Map不一致。下
阅读全文
posted @
2013-05-08 10:32
无尽的缥缈
阅读(1012)
推荐(0) 编辑