oracle中逻辑读的单位是什么?
来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 07:28:03
oracle中逻辑读的单位是什么?
oracle中逻辑读的单位是什么?
oracle中逻辑读的单位是什么?
有两种读:逻辑读和物理读
数据库读写的单位是数据块.当用户最终得到的结果可能只是某个数据块中的几行或几列.当一个查询语句被执行时,服务器进程会将相关的数据块从数据文件中写入内存(buffer cache).这就叫做物理读.每读取一个数据块,即是一次物理读.
而用户需要的并不是整个数据块,而是其中的几行或几列.从buffer cache中提取行的过程,便是逻辑读.
而其中逻辑读又分成两种:即时读(current read)和一致性读(consistent read).
(1)即时读::即时读就是读取数据块当前的最新数据.任何时候在buffer cache中都只有一份当前数据块.即时读通常发生在对数据进行修改,删除操作时.这时,进程会给数据加上行级锁,并且标识数据为“脏数据”.
(2)一致性读:
一致性读就是为了保证数据的一致性.在Buffer Cache中的数据块上都会有最后一次修改数据块时的SCN.
如果一个事务需要修改数据块中数据,会先在回滚段中保存一份修改前数据和SCN的数据块,然后再更新Buffer Cache中的数据块的数据及其SCN,并标识其为“脏”数据.
当其他进程读取数据块时,会先比较数据块上的SCN和自己的SCN.如果数据块上的SCN小于等于进程本身的SCN,则直接读取数据块上的数据;
如果数据块上的SCN大于进程本身的SCN,则会从回滚段中找出修改前的数据块读取数据.通常,普通查询都是一致性读.
综上所述,逻辑读的原理和过程比较复杂.逻辑读的单位并不能简单的认为是个块.
oracle中逻辑读的单位是什么?
在oracle中 join on 具体的含义是什么
oracle中timestamp与date类型的区别是什么.
Oracle物理文件分为几类?各类文件的作用?Oracle逻辑结构由哪几部分组成,各自作用是什么?大家看清楚包括物理文件和逻辑结构两部分提问
oracle中in和exist的区别
Oracle 中 any 和 all 的区别
oracle的bigfile是什么意思?oracle数据库中建立表空间,加入bigfile是什么意思?create bigfile tablespace
数字逻辑中这是什么逻辑符号?
Oracle ACE认证是什么
oracle 中 FETCH
oracle中escape是什么意思
oracle中 between 用法
oracle中cascade是什么意思
oracle中procedures是什么意思
oracle中什么是同义词,它有几种类型,不同类型同义词的区别是什么?并写出语法?
oracle数据库的failover是什么意思,工作机制是什么?
在oracle中创建表的时候number(8,
Oracle中Inner join和Where的区别