借助索引+非空优化distinct操作一例
一个同事在做方案的时候,问我一个问题:如何快速从百万行的数据表中,快速获取到指定列的所有取定值。 这个问题的困难点在于对数据表数据列的扫描。最直接的方法无过于进行全表扫描+distinct...
非空+默认值——一种选择方案思路
同事和我讨论一个问题:非关键业务字段(比如状态字段)如果从业务上允许为空,那么在数据库里面,是否有必要通过一个默认值将这个字段作为非空字段。笔者将个人的一点拙见在这里和大家分享。 举一个...
ASM驱动安装与ASM盘建立(二)
ASM驱动安装 ASM管理的逻辑结构是两个层次,ASM磁盘组DiskGroup和ASM磁盘Disk。磁盘组是一个或者多个磁盘的集合。ASM磁盘对应的物理种类很多,比如分区、物理磁盘乃至裸设备等,都可以作为ASM磁盘的一...
ASM驱动安装与ASM盘建立(一)
前段时间安装虚拟Linux上的ASM实例,中间反复了几次,不过最终解决了这部分的问题。现记录下来与大家分享。 ASM是Oracle针对数据存储提出的解决方案。区别于传统的Oracle数据库使用数据库实例...
复合索引顺序选择问题(二)
下面我们转换一种构建策略,使用高选择性列为前导列 构建方案2——高选择性列为前导列 构建索引 SQL> drop index idx_t_cmp1; Index dropped SQL> create ...
复合索引顺序选择问题(一)
索引是我们经常选择的数据表检索优化方案之一。其中,复合索引是我们经常选择的策略。那么,构建索引列的顺序上,有何种差异和需要注意的方面呢?下面我们通过实验来进行说明。 实验环境说明 ...
所有者权限和调用者权限(二)
有了前面对所有者权限的介绍,调用者权限的含义就相对容易理解了。调用者权限体系就是执行方法体的时候,使用的权限按照调用者权限体系来判断。一个方法的执行,调用者除了要拥有方法的执行权限,还要拥有方...
所有者权限和调用者权限(一)
在Oracle中,系统权限、对象权限以及他们的集合角色权限,是一个相对复杂的安全体系。在前一篇《使用Role权限体系》(http://space.itpub.net/17203031/viewspace-691917)中,已经进行初步介绍。存储过程作...
角色Role使用中注意事项一例
角色是我们使用Oracle进行权限管理时候的一个重要方法。通过设置不同类型的角色,组织不同角色可以使用的系统权限和对象权限。之后简单的将不同角色附加给不同用户,这样在管理和维护上都有着很多优势。&nbs...
从Alert_Log看Oracle数据库启动三阶段
Oracle数据库启动是分为三个不同的阶段的,分别为nomount、mount和open。在不同的阶段,Oracle进行不同的行为,执行不同的操作。在笔者《Oracle启动三阶段》(http://space.itpub.net/17203031/viewspace-684...
语系排序nls_sort与语系索引Linguistic Index
多语言、语系数据的保存满足了多种语系系统的需求。在之前的《nls_sort与汉字排序》(http://space.itpub.net/17203031/viewspace-690198)中,我们介绍了如何在Oracle中通过初始化参数,来控制不同语言类型...
pck_nbs_runstats脚本
v$sesstat视图和自开发工具
今天介绍一个Oracle中的重要性能视图v$sesstat,以及基于该视图自己开发的一个小性能评测工具包。 Oracle内部提供了很多监控性能的数据字典视图,用来帮助统计各种级别的性能统计量。其中,v$s...
海量数据表删除方案
声明:本文思路参考了hrb_qiuyb老师的文章《如何有效删除一张大表》http://space.itpub.net/9134/viewspace-166488,特此感谢。 当我们的系统进入海量数据时代后,很多过去看起来轻松简单的事...
存储过程中DDL错误一例
偶然想到在过去一个项目组写SP时候遇到的问题。不敢说分享知识,就是一起分享下经历而已。 问题概述 开发的一段存储过程代码,在调试中遇到一些诡异的问题。下面是代码片段,用来模拟情...
ACOUG线下活动参会收获
周六下午有幸参加了在人大举办的ACOUG线下活动——“海量数据库管理:企业面临的挑战-暨中韩数据库技术交流”。这是我第二次参加ACOUG线下活动,相对于前次,规模和到会专家众多。除了从韩国远道而来的数据库...
object_id与data_object_id浅析(二)
接下来使用truncate命令 SQL> alter session set events '10046 trace name context forever, level 4'; Session altered SQL> truncate table t; Table truncated ...
object_id与data_object_id浅析(一)
我们经常使用的数据字典视图<xxx>_objects(xxx代指dba/all/user)中,有数据列object_id用于标志数据对象。在很多时候,我们习惯于使用该标识进行对象信息跟踪和定位。但是,在该视图中,还包括一个名称data_object...
nls_sort与汉字排序
朋友在进行报表需求评估的时候,突然问笔者一个问题:在数据库里面,汉字进行排序的顺序是按照什么方法?对空值null,是排在第一位还是最后一位?当时做了一个简单的小实验,立刻获得了答案。但是之后,在想...
Returning Into子句研究(二)
Returning bulk collect into子句支持批量 当进行DML操作的数据集合为批量多行的时候,可以使用bulk collect into进行结果集合收集。如果进行dml操作的结果集合为多行,但是使用returning into子句到...