`
小嘴冰凉
  • 浏览: 455821 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

block的一些概念

阅读更多
http://space.itpub.net/12361284/viewspace-119542

Oracle manages the storage space in the datafiles of a database in units called data blocks. A data block is the smallest unit of data used by a database. In contrast, at the physical, operating system level, all data is stored in bytes. Each operating system has a block size. Oracle requests data in multiples of Oracle data blocks, not operating system blocks.
(block是数据库中使用的最小的存储单元,那么在OS级别上,数据的存储都是按照bytes来计算,每种OS也有相应的block size,而Oracle中呢,对于任何数据的操作都是以block来计算。而这种block和os level的block大小可能会不同,联想一下hot backup中的split block概念)

The standard block size is specified by the initialization parameter DB_BLOCK_SIZE. In addition, you can specify of up to five nonstandard block sizes. The data block sizes should be a multiple of the operating system's block size within the maximum limit to avoid unnecessary I/O. Oracle data blocks are the smallest units of storage that Oracle can use or allocate.
(Oracle中除了标准db_block_size定义的block size外还有5种(db_nk_cache_size,db_nk_block_size)非标准的block size,其实这样做的目的主要就是为了可传输表空间的需要,而且Oracle中的block size一定要是OS block size的几倍,这样可以最大限度上避免一些不必要的I/O读写.)

Data Block Format

Header
----------
The header contains general block information, such as the block address and the type of segment (for example, data or index).
(block header一般包括了数据块的信息,比如block address,当然还有block所属段的类型)

Table Directory
---------------------
This portion of the data block contains information about the table having rows in this block.
(这里主要记录了这个块中包含的rows,是属于那些table的)

Row Directory
-------------------
This portion of the data block contains information about the actual rows in the block (including addresses for each row piece in the row data area).
(这里主要记录了这个块中,row data部分所包含的rows的address等等)

After the space has been allocated in the row directory of a data block's overhead, this space is not reclaimed when the row is deleted. Therefore, a block that is currently empty but had up to 50 rows at one time continues to' have 100 bytes allocated in the header for the row directory. Oracle reuses this space only when new rows are inserted in the block.

Row data
-------------
This portion of the data block contains table or index data. Rows can span blocks.
(row是可以跨数据块的)

Free Space
----------------
Free space is allocated for insertion of new rows and for updates to rows that require additional space (for example, when a trailing null is updated to a nonnull value). Whether issued insertions actually occur in a given data block is a function of current free space in that data block and the value of the space management parameter PCTFREE.

In data blocks allocated for the data segment of a table or cluster, or for the index segment of an index, free space can also hold transaction entries. A transaction entry is required in a block for each INSERT, UPDATE, DELETE, and SELECT...FOR UPDATE statement accessing one or more rows in the block. The space required for transaction entries is operating system dependent; however, transaction entries in most operating systems require approximately 23 bytes.



分享到:
评论

相关推荐

    iOS Block使用教程

    本教程将通过"BlockDemo"这个示例项目,深入讲解Block的基础概念、使用方式以及在网络请求中的应用。 1. **Block基础概念** - Block是一种对象,它可以捕获和存储执行上下文中的局部变量。 - Block分为栈Block和...

    ios-Block基础,block传值,及自定义block方法.zip

    Block是iOS开发中的一种强大的编程概念,它是Objective-C和Swift中的闭包,允许你将代码块作为参数传递,也可以作为函数或方法的返回值。在iOS开发中,Block经常用于异步操作、事件处理和数据过滤等场景。下面将详细...

    cpp-block的实现原理

    在深入理解cpp-block的实现原理之前,我们需要先了解一些基本概念。 Block本质上是一个Objective-C的对象,这意味着它拥有一个`isa`指针,指向其类的元数据。这个元数据包含了关于Block类型的信息,例如它的结构、...

    SAP方丈-Coding Block详解x.doc

    而Coding Block则是SAP ABAP编程中的一项重要概念,它对于理解SAP编程逻辑、提高代码效率和可维护性具有关键作用。这篇文档将深入探讨Coding Block的各个方面,帮助读者掌握这一核心技能。 Coding Block,顾名思义...

    block的简单使用

    一、Block的基础概念 1. 定义:Block是一种闭包,它可以捕获和存储其定义时所在上下文的变量值。Block可以像函数一样被传递和调用,但它可以访问和修改其外部作用域的变量。 2. 语法:Block的语法类似于方法定义,...

    Block反向传值Demo

    下面我们将深入探讨Block反向传值的概念、应用场景以及如何实现。 首先,了解Block的基本概念。Block是一种代码块,它可以包含一系列的语句,并且可以作为参数传递给函数,也可以作为函数的返回值。Block内部可以...

    复杂数据类型变量的引用计数与block以及__block修饰符的关系

    标题中提到的“复杂数据类型变量的引用计数与block以及__block修饰符的关系”涉及了Objective-C中内存管理的核心概念之一,即引用计数(retainCount)以及与之密切相关的block(代码块)的特性。为了深入理解这些...

    ios-block 回调.zip

    在iOS开发中,Block是一种...4. 捕获变量的概念,以及`__block`关键字的使用。 5. 在实际项目中的应用,如用户交互响应和网络请求的回调。 深入理解并熟练运用Block,对于提升iOS开发效率和代码质量有着重要的作用。

    iOS Block 界面传值

    一、Block的基础概念 1. Block定义:Block 是 Objective-C 对匿名函数的实现,它可以捕获和存储其所在作用域内的变量,包括局部变量和实例变量。Block 可以作为参数传递,也可以作为方法的返回值。 2. Block类型:...

    block测试代码

    总之,Block是iOS开发中的重要概念,它极大地提高了代码的可读性和可维护性。正确理解和使用Block,特别是掌握其内存管理规则和测试方法,对于提高代码质量至关重要。在实际项目中,我们应该充分利用Block的优势,...

    CUDA学习----sp, sm, thread, block, grid, warp概念 .docx

    在深入理解CUDA编程之前,我们需要先了解几个关键的概念:SP、SM、thread、block、grid和warp。 1. SP(Streaming Processor):SP,即流处理器,是GPU硬件中的基本执行单元,通常被称为CUDA核心。每个SP都能执行...

    Block详解ppt

    这份名为"Block详解ppt"的文档很可能是对Block这一概念的深入讲解。 Block的基本使用: 1. 定义Block:Block可以通过^语法来定义,例如`^(参数列表)返回值类型{执行体}`。例如,一个无参数、返回整型的Block可以...

    block在ios中的具体用法与解析

    Block是iOS开发中的一种强大的编程概念,它允许程序员在代码中定义可重用的代码块,这些代码块可以像函数一样被传递和调用。在iOS应用开发中,Block经常用于处理异步操作、事件回调、排序和过滤数据等场景。下面我们...

    初识block之block入门

    Block是iOS开发中的一个重要概念,自iOS 5.0引入以来,它在GCD(Grand Central Dispatch)和其他并发编程场景中扮演着核心角色。Block是一种内联函数,可以在代码中直接定义,允许我们把一段代码封装起来,作为参数...

    vivado_block_design.rar

    2. **Block Design概念**:在Vivado中,Block Design是一种高级设计方法,允许用户通过图形化界面组合各种IP核( Intellectual Property),逻辑单元,接口等,形成一个完整的系统级设计。 3. **IP核**:IP核是预先...

    Swift 中的闭包和 Objective-C 中的Block

    尽管这两种语言都属于Apple的生态系统,但它们在闭包和Block的概念上有细微差别。 首先,让我们从Swift的闭包开始。闭包在Swift中是一种强大的工具,它允许我们将一段代码包装起来作为一个独立的实体,可以在程序的...

    IOS block回调代码实例Demo

    Block不仅可以作为局部变量、函数参数,还可以用于回调,这正是"IOS block回调代码实例Demo"所展示的核心概念。在这个Demo中,我们将深入探讨Block在iOS应用程序中的使用方式,特别是如何利用它们来实现回调机制。 ...

    Linux那些事儿之我是Block层

    #### 四、Block 层的关键概念 - **Block Device**: 块设备是一种允许按固定大小的数据块进行读写的设备,如硬盘、SSD 等。 - **I/O Scheduler**: I/O 调度器用于决定何时以及如何将 I/O 请求发送到磁盘,不同的调度...

    Block深入分析

    一、Block的基础概念 Block是一种闭包(Closure),即能够捕获和存储其所在上下文中变量的代码块。它有自己的作用域,可以包含任意的C语言表达式、函数调用甚至是其他Block。Block分为栈Block和堆Block两种类型,...

Global site tag (gtag.js) - Google Analytics