- 博客(43)
- 资源 (13)
- 收藏
- 关注
转载 物化视图
转自:http://blog.csdn.net/tianlesoftware/article/details/4713553一. 物化视图概述Oracle的物化视图是包括一个查询结果的数据库对像,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表。物化视图存储基于远程表的数据,也可以称为快照。 物化视图可以用于预先计算并保存表连接或聚集等耗时较多的操作的
2015-02-10 22:29:39 350
转载 视图
转自:http://blog.csdn.net/tianlesoftware/article/details/5530618一. 视图的定义 视图(view),也称虚表,不占用物理空间,这个也是相对概念,因为视图本身的定义语句还是要存储在数据字典里的。视图只有逻辑定义。每次使用的时候,只是重新执行SQL. 视图是从一个或多个实际表中获得的,这些表
2015-02-10 21:30:26 317
原创 DBMS_STATS.GATHER_TABLE_STATS解析
作用:DBMS_STATS.GATHER_TABLE_STATS统计表,列,索引的统计信息(默认参数下是对表进行直方图信息收集,包含该表的自身-表的行数、数据块数、行长等信息;列的分析--列值的重复数、列上的空值、数据在列上的分布情况;索引的分析-索引页块的数量、索引的深度、索引聚合因子). DBMS_STATS.GATHER_TABLE_STATS的语法如下:DBMS_STATS
2015-02-10 19:03:37 519
原创 锁机制详解
oracle数据库有两种锁策略,分别为悲观锁和乐观锁:一.悲观锁当用户想要修改一条数据时,根据键盘上的输入的数据,应用将提供绑定变量的值,然后重新利用这些绑定的变量的值作为过滤条件去查询这一行,这一次会锁定这一行,不允许其他会话更新。在试图更新前就把记录锁住了,我们很悲观,对于这一行能不能保持未改变很是怀疑。注意: 1.如果在查询这条数据和锁这条数据之间,有
2015-02-10 18:26:38 473
原创 delete、drop和truncate的区别
1. delete/truncate 只删除数据不删除表,索引的结构。 drop 将删除表的结构及依赖的 index/constrain/trigger,依赖于该表的 procedure/function 将保留,但是变为 invalid 状态; 2. delete 是 dml,写 rollback segement,可回滚,速度慢,事务提交之后才生效。在 9i 满足 undo_reten
2015-02-09 21:07:25 449
原创 多表连接的三种方式hash join,merge join,nested loop
多表之间的连接有三种方式:Nested Loops,Hash Join和 Sort Merge Join. 下面来介绍三种不同连接的不同: 一. NESTED LOOP:对于被连接的数据子集较小的情况,嵌套循环连接是个较好的选择。在嵌套循环中,内表被外表驱动,外表返回的每一行都要在内表中检索找到与它匹配的行,因此整个查询返回的结果集不能太大(大于1 万不适合),要把返回子
2015-02-09 18:29:11 1528
原创 in 和 exists 的比较
EXISTS的执行流程 select * from t1 where exists ( select null from t2 where y = x ) 可以理解为: for x in ( select * from t1 ) loop if ( exists ( select null from t2 where y = x.x )
2015-02-09 15:55:36 421
原创 case when 与 decode 用法
case when 在不同条件需要有不同返回值的情况下使用非常方便,可以在给变量赋值时使用,也可以在select查询语句中使用。case搜索语句格式:case when 条件1 then 返回值1 when 条件2 then 返回值2 ... else 返回值N end;case when使用示例代码:select empno,ename,job,
2015-02-09 14:06:13 1545
原创 opencv缩略图
缩略图代码: #include "stdafx.h" #include using namespace std; #pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"") int main() {
2015-02-08 22:28:03 1659
原创 opencv加载显示图像
我的第一个opencv程序 #include "stdafx.h" #include using namespace std; #pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"") int main() {
2015-02-08 21:58:33 656
原创 多表查询方式
笛卡尔积 笛卡尔(Descartes)乘积又叫直积。 假设有两个集合X和Y,其笛卡尔积表示为X*Y,其积表示集合X中的每一个 元素和集合Y中每一个元素的所有可能的有序对 X*Y={(x,y)|x∈X∧y∈Y} 例如:X={a,b},Y={c,d,e},则X*Y={(a,c),(a,d),(a,e),(b,c)
2015-02-07 17:21:03 428
原创 执行计划查看方法(Explain plan)
什么是执行计划所谓执行计划,顾名思义,就是对一个查询任务,做出一份怎样去完成任务的详细方案。举个生活中的例子,我从珠海要去英国,我可以选择先去香港然后转机,也可以先去北京转机,或者去广州也可以。但是到底怎样去英国划算,也就是我的费用最少,这是一件值得考究的事情。同样对于查询而言,我们提交的SQL仅仅是描述出了我们的目的地是英国,但至于怎么去,通常我们的SQL中是没有给出提示信息的,
2015-02-07 16:55:24 7331
原创 cannot SET AUTOTRACE问题解决
SET AUTOTRACE参数SET AUTOTRACE OFF ---------------- 不生成AUTOTRACE 报告,这是缺省模式SET AUTOTRACE ON EXPLAIN ------ AUTOTRACE只显示优化器执行路径报告SET AUTOTRACE ON STATISTICS -- 只显示执行统计信息SET AUTOTRACE ON --------
2015-02-07 16:38:53 1065
原创 CBO & RBO
Oracle数据库中的优化器又叫查询优化器(Query Optimizer)。它是SQL分析和执行的优化工具,它负责生成、制定SQL的执行计划。Oracle的优化器有两种,基于规则的优化器(RBO)与基于代价的优化器(CBO) RBO: Rule-Based Optimization 基于规则的优化器 CBO: Cost-Based Optim
2015-02-07 15:15:08 401
原创 约束
约束定义约束是强加在表上的规则或条件。确保数据库满足业务规则。保证数据的完整性。当对表进行DML或DDL操作时,如果此操作会造成表中的数据违反约束条件或规则的话,系统就会拒绝执行这个操作。约束可以是列一级别的 也可以是表级别的。定义约束时没有给出约束的名字,ORACE系统将为该约束自动生成一个名字,其格式为SYS_Cn,其中n为自然数(强烈建议各位在创建表或增加约束时,给约束定义名称。).
2015-02-06 18:14:20 370
原创 碎片简介
1、碎片是如何产生的当生成一个数据库时,它会 分成称为表空间( Tablespace )的多个逻辑段( Segment ),如系统( System )表空间 , 临时( Temporary )表空间等。一个表空间可以包含多个数据范围( Extent )和一个或多个自由范围块,即自由空间( Free Space )。表空间、段、范围、自由空间的逻辑关系如下:当表空间中生成一个段时,将从表
2015-02-06 18:10:51 327
原创 事务隔离级别
事务隔离级别:一个事务对数据库的修改与并行的另一个事务的隔离程度。两个并发事务同时访问数据库表相同的行时,可能存在以下三个问题:1、幻想读:事务T1读取一条指定where条件的语句,返回结果集。此时事务T2插入一行新记录,恰好满足T1的where条件。然后T1使用相同的条件再次查询,结果集中可以看到T2插入的记录,这条新纪录就是幻想。2、不可重复读取:事务T1读取一行记录,紧接着事务T
2015-02-06 18:06:02 295
原创 表簇 索引化表簇 哈希簇
表簇概述表簇是一组表,它们共享公共的列,并将相关的数据存储在相同的数据块中。当表被聚簇时,单个数据块可以包含多个表中的行。例如,一个块可以同时存储来自employees表和departments表的行,而不只是单个表中的行。簇键是所有被聚簇的表的共有列或列集。例如,employees表和departments表共享 department_id 列。您在创建表簇时,和创建被添加到表簇的每个表时,
2015-02-06 17:59:11 741
原创 固体表和DUAL表的介绍
固态表固态表是Oracle中的一种特殊表,以X$开头,属于SYS用户。它们存储的是Oracle实例内部使用的运行数据,如一些性能统计数据、latch信息等;在实例启动时加载到内存中,并在数据库的运行过程中动态添加删除,在实例关闭时被释放。系统中所有固态表可以由视图v$fixed_table查询得到。除SYS用户外,其他用户都不能直接查询固态表,只能通过视图查询。DUAL表
2015-02-06 17:38:20 448
原创 分区索引
oracle对于分区表上的索引分为2类,即局部索引和全局索引局部索引local index1. 局部索引一定是分区索引,分区键等同于表的分区键,分区数等同于表的分区数,一句话,局部索引的分区机制和表的分区机制一样。2. 如果局部索引的索引列以分区键开头,则称为前缀局部索引。3. 如果局部索引的列不是以分区键开头,或者不包含分区键列,
2015-02-06 17:33:21 346
原创 表类型
1、堆组织表,就是普通的标准数据库表,数据以堆的方式管理。堆其实就是一个很大的空间,会一种随机的方式管理数据,数据会放在合适的地方。例如建立一张表create table t(id int,name varchar2(20));插入三条记录insert into t values(1,'a');insert into t values(2,'b');insert into
2015-02-06 17:20:33 436
原创 buffer cache
buffer cache的基本原理" title="oracle buffer cache的基本原理" height="420" width="552">Organization of the Database Buffer Cache The buffers in the cache are organized in two lists: the write
2015-02-06 16:49:37 399
原创 坏块
什么是数据库的坏块 首先我们来大概看一下数据库块的格式和结构数据库的数据块有固定的格式和结构,分三层:cache layer,transaction layer,data layer。在我们对数据块进行读取写入操作的时候,数据库会对要读写的数据块做一致性的检查,其中包括:数据块的类型、数据块的地址信息、数据块的SCN号以及数据块的头部和尾部。如果发现其中有不一致的信息,那数据库就会标记
2015-02-06 16:44:51 814
转载 CR块详解
转自:http://blog.csdn.net/cymm_liu/article/details/74967751、概述Cr块consistent read块也就是用来维护oracle的读一致性的数据块。当查询某些数据的时候,发现数据块的版本比我们要查询的新,例如session1执行了dml操作并没有提交,session2此时查找跟session1相关的dml操作的数据信息,此
2015-02-06 16:40:15 784
原创 数据块详解
数据库的逻辑结构包括:数据块,区,段,表空间。 Oracle数据块是Oracle数据库存储基础,有磁盘空间的若干字节组成,数据块是oracle数据库的最小逻辑单元,可以定义数据块为2k、4k、8k、16k、32k甚至更大,默认oracle块大小是8k,通常我们称为oracle块。当然正常情况下oracle块应该是os块的整数倍,当然具有标准大小的块叫做标准块,和标准块不同的块叫做非标准块。
2015-02-06 16:35:10 2275 1
原创 表空间详解
表空间介绍:表空间用于从逻辑上组织数据库的数据数据库逻辑上是由一个或是多个表空间组成的 表空间的作用:1、控制数据库占用的磁盘空间2、dba可以将不同数据类型部署到不同的位置。这样有利于提高i/o性能,同时利于备份和恢复等管理操作Oracle数据库中表空间的处理方式在数据库设计的时候,我们建议数据库管理员按如下顺序设置表空间。 第一步:建
2015-02-06 16:27:47 428
原创 redo
什么是REDO REDO记录transaction logs,分为online和archived。以恢复为目的。 比如,机器停电,那么在重起之后需要online redo logs去恢复系统到失败点。 比如,磁盘坏了,需要用archived redo logs和online redo logs区恢复数据。 比如,truncate一个表或其他的操作,想恢复到之前的状态,同样也需要。
2015-02-06 15:10:30 442
原创 with as 的使用
with as语法–针对一个别名with tmp as (select * from tb_name)–针对多个别名with tmp as (select * from tb_name), tmp2 as (select * from tb_name2), tmp3 as (select * from tb_name3), …--相当于建了个e临
2015-02-04 23:36:01 1619 1
原创 merge into 语句的使用
MERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句。 通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询, 连接条件匹配上的进行UPDATE,无法匹配的执行INSERT。 这个语法仅需要一次全表扫描就完成了全部工作,执行效率要高于INSERT+UPDATE。语法MERGE INTO [your table-name
2015-02-04 23:27:53 550
原创 结构化程序设计
结构化程序设计的三种基本结构是:顺序结构、选择结构和循环结构。顺序结构顺序结构表示程序中的各操作是按照它们出现的先后顺序执行的。例如,要计算两个员工的薪资总数,就可以用一个简单的顺序结果来实现,代码如下:DECLARE --define variable v_sal1 NUMBER; v_sal2 NUMBER; v_sumsal NUMBER;BEGIN
2015-02-04 21:54:37 587
原创 ORACLE PL/SQL 介绍
Overview of PL/SQLPL/SQL, the Oracle procedural extension of SQL, is a portable, high-performance transaction-processing language. This chapter explains its advantages and briefly describes its ma
2015-02-04 19:52:02 386
原创 ORACLE SQL 介绍
1 Introduction to Oracle SQLStructured Query Language (SQL) is the set of statements with which all programs and users access data in an Oracle Database. Application programs and Oracle tools ofte
2015-02-04 18:52:22 361
原创 事务介绍
Introduction to TransactionsA transaction is a logical, atomic unit of work that contains one or more SQL statements. A transaction groups SQL statements so that they are either allcommitted, wh
2015-02-04 16:48:45 457
原创 什么是BI
下面将从七个方面介绍BI一、BI的定义BI是Business Intelligence的英文缩写,中文解释为商务智能,用来帮助企业更好地利用数据提高决策质量的技术集合,是从大量的数据中钻取信息与知识的过程。简单讲就是业务、数据、数据价值应用的过程。用图解的方式可以理解为下图:图(1)这样不难看出,传统的交易系统完成的是Business到Data的过程,而BI要做的事情是在D
2015-02-04 00:04:11 1221
原创 ETL介绍与ETL工具比较
ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过萃取(extract)、转置(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。ETL负责将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分
2015-02-03 23:46:52 36317 4
原创 关系型数据库--范式
第一范式(1NF)所谓第一范式(1NF)是指在关系模型中,对域添加的一个规范要求,所有的域都应该是原子性的,即数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项。即实体中的某个属性有多个值时,必须拆分为不同的属性。在符合第一范式(1NF)表中的每个域值只能是实体的一个属性或一个属性的一部分。简而言之,第一范式就是无重复的域。说明:在任何一个关系数据库中,第一范
2015-02-03 23:42:30 767
原创 Undo
What Is Undo?The purpose of redo is recover your operation,on the contrary,the purpose of undo is undo your operation.For example,your TRANSACTION is failed or you regret for the operation,at this
2015-02-03 21:11:57 427
原创 Oracle物理结构
物理存储结构是指从物理角度分析数据库的构成,即Oracle数据库创建后所使用的操作系统文件。从物理存储结构上分析:每一个Oracle数据库是主要由三种类型的文件组成:数据文件、日志文件和控制文件,另外还包括一些参数文件。其中:数据文件的扩展名为.DBF;日志文件的扩展名为.LOG;控制文件的扩展名为.CTL。一、数据文件 数据文件(Data File)用于存储
2015-02-03 17:27:42 474
原创 Oracle逻辑结构
ORACLE逻辑存储结构图如下由图可知一个表空间由一组段组成一个段由一组区组成一个区由一批数据库块组成一个数据库块对应一个或多个物理块一.表空间表空间是Oracle数据库最大的逻辑结构,一个Oracle数据库在逻辑上由多个表空间组成,一个表空间只隶属于一个数据库。Oracle中有一个称为SYSTEM的表空间,这个表空间
2015-02-03 17:16:11 509
原创 OLTP和OLAP
Oracle OLAP 与 OLTP 介绍数据处理大致可以分成两大类: 联机事务处理 OLTP(on-line transactionprocessing)、联机分析处理 OLAP(On-Line Analytical Processing)。(1)OLTP 是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLTP 系统强调数据库内存效率,强调内存各种指
2015-02-03 17:06:21 466
hadoop权威指南
2015-03-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人