我遇到了两个代码段:
...一个
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;
现在我可以理解不是粗体的语句,但粗体语句很难理解。为什么我们使用表空间,特别是在这种情况下?这两个陈述的含义是什么?有人可以用例子给我一个详细的答案吗? 谢谢!
答案 0 :(得分:3)
表空间是逻辑存储单元。实际OS存储在数据文件中定义,数据文件链接到表空间。这意味着我们甚至可以在不同的服务器上部署数据库对象,甚至不需要知道底层目录结构。
对于索引表空间,索引是物理对象,需要存储在某处。目前,区分索引表空间和表表空间并不常见,因为现代服务器是突袭,条带等,所以没有人需要担心磁盘头。
事实上,Oracle内置的表空间管理非常好,我们可以完全忘记表空间规划。对于例如具有单独的表空间的情况仍然存在。只读数据,可传输表空间,分区等。