• 逆置与Like匹配

    日期:

    Like匹配是SQL语句的一种重要功能。Like结合通配符使用可以实现模糊查询,解决字符串匹配问题。当查询的数据集合比较大的时候,我们常常希望借助索引来加快检索效率。 默认的索引行为 like查询是否会执行索引路径,很大程度上取决于使用的通配符结构。如果我...

  • 数据列not null对索引影响一例

    日期:

    一些容易忽视的因素,往往是我们进行优化的方向。 Oracle数据列是有not null属性的,标志该列是否允许出现空值。如果插入、修改出现空值的情况,Oracle会拒绝当前的DML操作。 本质上看,数据列的not null是一种检验约束,其效果的时点是在数据列发生变化的时...

  • 搜索条件设置为Is Null一定不走索引吗?

    日期:

    在Oralce的搜索中,如果where条件句后使用了is null搜索条件,那么即使该列上使用了索引,Oracle也不会进行索引搜索。那么,这条规则一定正确吗? 构建实验环境 准备数据环境,构建数据表。 SQL create table t as select object_id,object_name,owner from d...

  • Where与Having

    日期:

    最近做实验中使用到了group和having,想到where和having之间存在一些共性特点,都是对于结果集合的筛选处理。那么,在获取结果集合相同的情况下,两者的执行计划有什么差异呢? 试验一下: 首先,准备实验环境,还是选择sys下的dba_objects视图作为数据来源,...

  • 纠结的外键

    日期:

    外键是我们经常使用的手段,用于维护父子表之间的完整性关系。但是实际中,我们选择作出外键的抉择有时是比较纠结的。 数据库的一个重要功能就是维护数据的完整性。关系数据库使用数据表作为数据存储的基本结构,通过表之间的连接构造复杂的实体关系模型结构...

  • 巧用函数索引解决数据倾斜列查询

    日期:

    首先声明:本方法是受到dbsnake的指导,再次感谢指点。 通常来说,索引选取的数据列最好为分散度高、选择性好。从索引树结构的角度看,列值都是分布在叶节点位置。这样,通过树结构搜索得到的叶节点数量效率比较高。 实际中,我们常常遇到数据列值倾斜的情况...

  • 关于索引的一点知识

    日期:

    索引可能是我们对于数据库性能优化最常用的一个手段。这里简单说下里面的几个方面的问题。 1、索引是一个对象; 索引是一个独立的数据库对象,和数据表table一样。在Oracle中,数据库对象object都是通过段segment结构表示。我们在数据字典dba_segment中,可以...

  • Clustering Factor——索引的成本指标

    日期:

    使用索引是我们面对海量数据搜索是一种常用的手段。通过有效的索引访问,可以使我们更快的访问到需要的数据,减少物理、逻辑IO,从而提高系统性能。在CBO时代,Oracle对于提交SQL的执行路径是有所选择的。一个select是走Index还是走Full Table Scan,或者别的...

  • linux下启动oracle

    日期:

    启动数据库实例,分为两步:第一步,启动监听;第二步,启动数据库实例。 一、如何启动数据库实例 1.进入到sqlplus启动实例[oracle@redhat ~]$ su - oracle --“切换到oracle用户”Password:[oracle@redhat ~]$ lsnrctl start --“打开监听”LSNRCTL for Linu...

  • Oracle体系结构及专用术语

    日期:

    Oracle instacne:Oracle实例 SGA:系统全局区(system global area)-实例基本的基本部件之一,多个服务器进程共用,9i之后是动态的 shared pool:共享池 -包括library cache以及dictionary cache library cache:库高速缓存 -存放SQL语句 dictionary cache...