创建表后的表空间。这是什么意思?

时间:2009-10-26 18:40:58

标签: sql oracle

我正在阅读一些Oracle脚本,我找到了一个这样的

Create Table XXY(...)

Tablespace SOME_TABLESPACE
....
NOCOMPRESS
NOPARALLEL
..

这是什么意思?怎么样?有许多CreateTable状态,但后面的Tablespace语句完全相同。

据我所知,当这个脚本被删除时,SOME_TABLESPACE必须存在,但这就是我所能得到的。声明的目的是将所有表存储在同一个地方吗?

EDIT 我读了这个

http://www.adp-gmbh.ch/ora/concepts/tablespaces.html

3 个答案:

答案 0 :(得分:4)

“同一地方”并没有完全描述它......

表空间是一组公共数据文件。使用“创建”语句,您可以定义对象存储在哪个表空间中。通常,不同类型的oracle对象存储在可以具有不同功能的不同表空间中。

一些例子:

  • “数据”(您的表和存储在这些表中的行)存储在与“系统信息”不同的表空间中(例如事务日志或“缓存”)。这允许您将系统信息存储在本地驱动器上(快速但空间有限)和存储区域网络中的数据(基本上无限空间,但速度不是很快)。
  • 表数据和索引可以存储在不同的表空间中,这些表空间可能位于不同的磁盘上。因此,表查找和索引查找可以使用不同的磁盘,并且比两者都在同一磁盘上更快。

表空间及其不同的特性是调整Oracle数据库的众多方法之一。很多功能,很多复杂性。如果您所做的只是一台小型开发机器,则无需担心它。

答案 1 :(得分:2)

它在该表空间中创建表。对于分区表,它还将该表空间定义为新分区和子分区的默认值。

答案 2 :(得分:2)