使用索引表空间?

时间:2017-03-01 14:41:07

标签: sql oracle database-indexes tablespace

我遇到了两个代码段:

...一个

  

ALTER TABLE table_name
  DROP CONSTRAINT constraint_name;
      DROP INDEX index_name;
     alter TABLE table_name ADD CONSTRAINT constraint_name PRIMARY KEY(列,列)
  使用INDEX TABLESPACE tablespace_name ;

两个......

  

CREATE INDEX index_name ON table_name(column_name)
   TABLESPACE tablespace_name;

现在我可以理解不是粗体的语句,但粗体语句很难理解。为什么我们使用表空间,特别是在这种情况下?这两个陈述的含义是什么?有人可以用例子给我一个详细的答案吗? 谢谢!

1 个答案:

答案 0 :(得分:3)

表空间是逻辑存储单元。实际OS存储在数据文件中定义,数据文件链接到表空间。这意味着我们甚至可以在不同的服务器上部署数据库对象,甚至不需要知道底层目录结构。

对于索引表空间,索引是物理对象,需要存储在某处。目前,区分索引表空间和表表空间并不常见,因为现代服务器是突袭,条带等,所以没有人需要担心磁盘头。

事实上,Oracle内置的表空间管理非常好,我们可以完全忘记表空间规划。对于例如具有单独的表空间的情况仍然存在。只读数据,可传输表空间,分区等。