oracle框架

1.oracle索引结构

答:和mysql一样,是b+树

2.oracle也会面对事务四个并发问题吗

是的,oracle也会面临事务四个并发问题, oracle的默认隔离级别是 读已提交

oracle提供了三种隔离级别可供修改,分别是sql92标准中的read committed(读已提交)和serializable(可串行化),还有非sql92标准的read-only(读一致性)

我们可以手动设置oracle的隔离级别.

复制代码
set transaction isolation level read committed;(oracle默认的事务隔离级别"读已提交")

set transaction isolation level serializable;(设置事务隔离级别为"可串行化")

set transaction read only;(设置事务隔离级别为"读一致性")

3.oracle的事务是自动提交的吗?

不是,oracle默认是要手动提交事务, 但是可以设置为自动提交

复制代码
SQL>SET AUTOCOMMIT ON;

4.oracle的封锁和封锁协议

oracle也有三级封锁协议, oracle的锁和mysql的锁基本是一样的, oracle比mysql多了显示锁(针对于不同用户的)

5.oracle有mvcc吗

oracle是有mvcc的, 只不过oracle实现mvcc的方式和mysql不同.

在Oracle中,多版本控制MVCC通过回滚段实现,当行记录row发生更改的时候,先将数据块的旧版本将写入回滚段,随后将新数据覆写入原data block数据块区域。在读取数据的时候,通过比对scn来读取合适的数据版本。

相关推荐
数据智能老司机8 小时前
CockroachDB权威指南——CockroachDB SQL
数据库·分布式·架构
数据智能老司机8 小时前
CockroachDB权威指南——开始使用
数据库·分布式·架构
松果猿9 小时前
空间数据库学习(二)—— PostgreSQL数据库的备份转储和导入恢复
数据库
无名之逆9 小时前
Rust 开发提效神器:lombok-macros 宏库
服务器·开发语言·前端·数据库·后端·python·rust
s9123601019 小时前
rust 同时处理多个异步任务
java·数据库·rust
数据智能老司机9 小时前
CockroachDB权威指南——CockroachDB 架构
数据库·分布式·架构
hzulwy9 小时前
Redis常用的数据结构及其使用场景
数据库·redis
程序猿熊跃晖9 小时前
解决 MyBatis-Plus 中 `update.setProcInsId(null)` 不生效的问题
数据库·tomcat·mybatis
Three~stone11 小时前
MySQL学习集--DDL
数据库·sql·学习
Qi妙代码11 小时前
MYSQL基础
数据库·mysql·oracle