Oracle约束Constraint对于CBO优化器的作用
进入CBO优化器时代之后,成本计算值决定执行计划的选取已经成为主流。一条性能良好的执行计划建立在尽可能“贴切”的统计量基础上。CBO内部又经历了两个时代——IO Cost和CPU Cost,两者的区别就在于系统统计量(System Statistical)的应用。RBO时代,执行计划其实也是有评估的。RBO的执行计划评定级别不...
为什么子表外键列需要建立索引?(下)
继续前篇的讨论(http://space.itpub.net/17203031/viewspace-701833)。 4、有索引情况下,DML操作实验 当我们加入索引结构之后,进行相同的实验。下面列出一个正常场景和无索引是出现...
为什么子表外键列需要建立索引?(中)
上篇(http://space.itpub.net/17203031/viewspace-701832)中,我们讨论了基本外键连带锁结构。 3、无索引状态下,引起的并发阻塞问题 这里面就要用到我们准备的两个会话实验环境了。为了实现...
为什么子表外键列需要建立索引?(上)
外键是我们经常使用的数据库约束方式。它保证了子表上的特定索引列取值一定与父表列(主键列)相一致对应。而且保证在子表没有对应子记录的情况下,父表数据才能删除。应该说,外键是实现数据库完整性、消除...
非空+默认值——一种选择方案思路
同事和我讨论一个问题:非关键业务字段(比如状态字段)如果从业务上允许为空,那么在数据库里面,是否有必要通过一个默认值将这个字段作为非空字段。笔者将个人的一点拙见在这里和大家分享。 举一个...