Oracle Schema Objects——Tables——TableStorage
Table Storage
Oracle数据库如何保存表数据? |
Oracle Database uses a data segment in a tablespace to hold table data. Oracle 数据库使用表空间中的数据段保存表数据。 As explained in "User Segments", a segment contains extents made up of data blocks. 如"用户段"所述,段包含由数据块组成的扩展盘区。 The data segment for a table (or cluster data segment, when dealing with a table cluster) is located in either the default tablespace of the table owner or in a tablespace named in the CREATE TABLE statement. 表数据段(或涉及表簇时的簇数据段)位于表所有者的默认空间中,或CREATE TABLE 语句中所指定的表空间中。 |
||||||||||||||||||||||||||||
表空间、段、区、块的关系 |
|
||||||||||||||||||||||||||||
表空间tablespace |
– 表空间—表(索引,分区..)
– 表空间—段—extent—block –data file
|
||||||||||||||||||||||||||||
段segment |
|
||||||||||||||||||||||||||||
区extent |
|
||||||||||||||||||||||||||||
块block |
|
Table Organization表组织
表如何组织数据? ——堆 堆组织表? ——无序的行的集合 添加行时,数据的位置? ——放置在数据段中第一个可用空间空间. |
By default, a table is organized as a heap, which means that the database places rows where they fit best rather than in a user-specified order. 默认情况下,表按 堆的形式来组织数据,这意味着数据库将行存放在最适合他们的位置,而不是按用户指定的顺序来存放。 Thus, a heap-organized table is an unordered collection of rows. 因此,堆组织表是一个无序的行的集合。 As users add rows, the database places the rows in the first available free space in the data segment. Rows are not guaranteed to be retrieved in the order in which they were inserted. 当用户往其中添加行时,数据库将行置于在数据段中第一个可用的空闲空间。不能保证行按照插入它们的顺序进行检索。 |
Column order? ——列顺序对行都是相同的 例外? |
The column order is the same for all rows in a table. 列的顺序对于表中的所有行都是相同的。 The database usually stores columns in the order in which they were listed in the CREATE TABLE statement, but this order is not guaranteed. For example, if a table has a column of type LONG, then Oracle Database always stores this column last in the row. Also, if you add a new column to a table, then the new column becomes the last column stored. 通常,数据库按它们被列在CREATE TABLE 语句中的列顺序来存储列,但这个顺序是不保证的。 例如,如果表中有 LONG 类型的列,那么数据库总是将其存储到行中的最后一列。此外,如果向表中添加一个新列,则新列将被存储为最后一列 |
Virtual column 虚拟列 |
A table can contain a virtual column, which unlike normal columns does not consume space on disk. 与常规列不同,表可以包含 虚拟 列,它不占用磁盘上的空间 The database derives the values in a virtual column on demand by computing a set of user-specified expressions or functions. You can index virtual columns, collect statistics on them, and create integrity constraints. Thus, virtual columns are much like nonvirtual columns. 数据库通过计算一组用户指定的表达式或函数,在虚拟列中按需派生一个值。您可以对虚拟列创建索引、 收集统计数据、并创建完整性约束。因此,虚拟列非常像非虚拟列。 |
Row Storage行存储
Row是如何存储的? ——行存储在数据块block中. 行片?Row pieces? ——用于存储少于256个列的行. |
The database stores rows in data blocks. Each row of a table containing data for less than 256 columns is contained in one or more row pieces. 数据库将行存储在数据块中。在表中,少于 256 个列的行,被存储在一个多个 行片中。 If possible, Oracle Database stores each row as one row piece. 数据库尽可能将每一行作为一个行片来存储。 However, if all of the row data cannot be inserted into a single data block, or if an update to an existing row causes the row to outgrow its data block, then the database stores the row using multiple row pieces (see "Data Block Format"). 但是,如果所有的行数据不能插入到一个单一数据块中,或者对现有的行的更新导致行溢出,则数据库使用多个行片来存储此行(参见"数据块格式")。 Rows in a table cluster contain the same information as rows in nonclustered tables. Additionally, rows in a table cluster contain information that references the cluster key to which they belong. 表簇中的行除了包含非聚集表中的行相同的信息,还包含对其所属簇键的用信息 |
Rowids of Row Pieces 行片的行id ——行的一个10字节的物理地址. ——行id用来构建索引 |
A rowid is effectively a 10-byte physical address of a row. rowid 实际上是行的一个 10 字节的物理地址。 As explained in "Rowid Data Types", every row in a heap-organized table has a rowid unique to this table that corresponds to the physical address of a row piece. For table clusters, rows in different tables that are in the same data block can have the same rowid. 如"Rowid 数据类型"中所述,堆组织表中的每一行都有一个在该表中唯一的 rowid,与一个行片的物理地址相对应。对于表簇,处于同一个数据块的不同表中的行可以有相同的rowid。 Oracle Database uses rowids internally for the construction of indexes. Oracle 数据库在内部使用 rowids来构建索引。 For example, each key in a B-tree index is associated with a rowid that points to the address of the associated row for fast access (see "B-Tree Indexes"). Physical rowids provide the fastest possible access to a table row, enabling the database to retrieve a row in as little as a single I/O. 例如,在 B 树索引中的每个键与一个指向关联行地址的 rowid 相关联,以便快速访问(请参阅"B 树索引")。物理 rowids 提供对表行尽可能最快的访问,使数据库几乎只需单次I/O就可以检索到行。 |
Storage of Null Values
空值的存储
A null is the absence of a value in a column. Nulls indicate missing, unknown, or inapplicable data.
空值是指在某个列中值的缺失。空值表示缺少、 未知、或不适用的数据。
Nulls are stored in the database if they fall between columns with data values.
在数据库中,如果在空值的前后都有数据值,则空值会被存储。
In these cases, they require 1 byte to store the length of the column (zero). Trailing nulls in a row require no storage because a new row header signals that the remaining columns in the previous row are null. For example, if the last three columns of a table are null, then no data is stored for these columns.
在这些情况下,他们需要 1 个字节来存储列的长度(零)。尾随的空值在行中不需要存储,因为新的行头标志着前一行中的剩余列都为空。例如,如果表的最后三列为空,则不为这些列存储数据。
Oracle Schema Objects——Tables——TableStorage的更多相关文章
- Oracle Schema Objects——Tables——Oracle Data Types
Oracle Schema Objects Oracle Data Types 数据类型 Data Type Description NUMBER(P,S) Number value having a ...
- Oracle Schema Objects——Tables——TableType
Oracle Schema Objects Object Tables object type An Oracle object type is a user-defined type with a ...
- Oracle Schema Objects——Tables——Overview of Tables
Oracle Schema Objects Overview of Tables A table is the basic unit of data organization in an Oracle ...
- Oracle Schema Objects——Tables——Table Compression
Oracle Schema Objects Table Compression 表压缩 The database can use table compression to reduce the amo ...
- Oracle Schema Objects(Schema Object Storage And Type)
One characteristic of an RDBMS is the independence of physical data storage from logical data struct ...
- Oracle Schema Objects——伪列ROWID Pseudocolumn(ROWNUM、ROWID)
Oracle Schema Objects Oracle Schema Objects——Tables——Oracle Data Types Oracle伪列 在Oracle数据库之中为了实现完整的关 ...
- Oracle Schema Objects——PARTITION
Oracle Schema Objects 表分区 表- - 分区( partition )TABLE PARTITION 一段时间给出一个分区,这样方便数据的管理. 可以按照范围range分区,列表 ...
- Oracle Schema Objects——Index
索引主要的作用是查询优化. Oracle Schema Objects 查看执行计划的权限:查看执行计划plustrace:set autotrace trace exp stat(SP2-0618. ...
- Oracle Schema Objects——Synonyms
Oracle Schema Objects 同义词 同义词 = 表的别名. 现在假如说有一张数据表的名称是“USER1.student”,而现在又为这张数据表起了一个“USER1”的名字,以后就可以直 ...
随机推荐
- UIScrollView 的基本用法
转自:http://unmi.cc/use-uiscrollview/ iPhone/iPad 中 UIScrollView 还是经常要用到的,这里作了一个使用它最简单的例子,一个 ScrollVie ...
- 严重: Dispatcher initialization failed java.lang.RuntimeException: java.lang.reflect.Invoc
错误提示:严重: Dispatcher initialization failed java.lang.RuntimeException: java.lang.reflect.InvocationTa ...
- centos IPTables 配置方法
entos IPTables 配置方法 http://os.51cto.com/art/201103/249359_1.htm iptables 指南 1.1.19 http://www.frozen ...
- 软件配置管理中的SVN
一.简单介绍 1.什么是软件配置管理 软件配置管理是指通过运行版本号控制.变更控制的规程.以及使用合适的配置管理软件.来保证全部配置项的完整性和可跟踪性. 配置管理是对工作成果的一种有效保护. 2.为 ...
- rp2836 网卡以及串口与接插件位置关系
P3 ETH1 P6 ETH0 P7 /dev/ttyS3 调试口 P13-1 /dev/ttyS2 rs485+ P13-2 /dev/ttyS2 rs485- P1 ...
- sama5d36 OUT0-OUT3 对应关系 带光模块的系统
ARM-IO9 PA8 OUT0 ARM-IO10 PA1 OUT1 ARM-IO11 PA3 OUT2 ARM-IO12 PA9 OUT3
- linphone 在am335x的编译过程
环境变量: export PREFIX=/usr export HOSTTPL=arm-linux-gnueabihf export INSTALLDIR=/home/elinux/linphone/ ...
- 008杰信-创建购销合同Excel报表系列-1-建四张表
本博客的内容来自于传智播客: 我们现在开始要做表格了,根据公司要求的表格的形式,来设计数据库.规划针对这个表格要设计几张表,每张表需要哪些字段. 根据公司原有的表格,设计数据库: 原有的表格
- 什么是Spring Cloud
Spring Cloud是一系列框架的有序集合.它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册.配置中心.消息总线.负载均衡.断路器.数据监控等,都可以用 ...
- Http缺省的请求方法是。(选择1项)
A.PUT B.GET C.POST D.TRACE 解答:B