数据库可以存储数据的同时检索和修改数据。
数据文件被oracle分成大小相同的块:IO的最小单位
show parameter block
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_block_buffers integer 0
db_block_checking string FALSE
db_block_checksum string TRUE
db_block_size integer 8192
db_file_multiblock_read_count integer 16
SQL>
理解:一个表类似一个段
create table t2(id int,name varchar2(20));
数据文件被oracle分成大小相同的块:IO的最小单位
show parameter block
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_block_buffers integer 0
db_block_checking string FALSE
db_block_checksum string TRUE
db_block_size integer 8192
db_file_multiblock_read_count integer 16
SQL>
理解:一个表类似一个段
create table t2(id int,name varchar2(20));
区是物理上连续的块、是oracle给段分配的最小单位
查询一行记录
访问这个行的这个段的块是否在内存中,如果不存在就到磁盘上的块读到内存中
查询含有记录的块到内存(buffer cache)
一次IO:读块最耗时间的寻道时间(占90%)
buffer cache 作用
1、缓存dbf的数据(减少IO)
2、构造CR块
1个会话修改(delete)了一个表的数据行。没有提交以前。
单独的申请个新块(保存修改前的记录):CR块(回滚undo)
别的用户是看不见的。
undo作用 1、可以对没有提交的操作回滚 2、构造CR块