17、Oracle数据库:数据定义与性能优化

Oracle数据库:数据定义与性能优化

1. 可延迟约束

在Oracle数据库中, CREATE SCHEMA 命令名容易让人误解,因为它实际上并不创建模式,Oracle模式是通过 CREATE USER 命令创建的,且该命令只有在模式名与你的Oracle数据库用户名相同时才会成功。此命令的组件可以按任意顺序指定,并且在每个组件定义中,你可以引用其他(更早或更晚的)模式组件。

Oracle数据库支持可延迟约束,允许你指定何时检查约束,有以下两种情况:
- IMMEDIATE :在语句级别进行检查。
- DEFERRED :在事务结束时进行检查。

默认情况下,所有创建的约束都是不可延迟的( NOT DEFERRABLE )。若要使约束可延迟,需在约束定义中添加 DEFERRABLE 选项,且约束默认的检查行为是 INITIALLY IMMEDIATE 。你可以使用 SET CONSTRAINTS 命令在事务级别动态更改或覆盖可延迟约束的默认行为。

总结如下:
- 默认情况下,Oracle数据库总是使用立即约束检查。
- 必须显式允许约束可延迟,默认约束不可延迟。
- 若约束可延迟,可选择默认的检查方式:立即或延迟。
- 若约束可延迟,可使用 SET CONSTRAINTS 命令影响其行为。

2. 索引
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值