使用索引表空间?

Posted

技术标签:

【中文标题】使用索引表空间?【英文标题】:using index tablespace? 【发布时间】:2017-03-01 14:41:07 【问题描述】:

我遇到了两个代码 sn-ps :

一个...

ALTER TABLE 表名 DROP CONSTRAINT 约束名称; 删除索引 index_name; alter TABLE table_name ADD CONSTRAINT constraint_name PRIMARY KEY (column, column)USING INDEX TABLESPACE tablespace_name;

两个...

在表名(列名)上创建索引索引名TABLESPACE 表空间名;

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

【问题讨论】:

索引segments 必须存储在表空间中;确定要指定哪一个并不奇怪吗? 它是 Oracle 构建数据库方式的基本部分。看看docs.oracle.com/cd/B19306_01/server.102/b14220/… 【参考方案1】:

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

对于索引表空间,索引是物理对象,需要存储在某个地方。如今,区分索引表空间和表表空间已经不那么普遍了,因为现代服务器是经过突袭、条带化等操作的,所以没有人需要担心磁盘磁头。

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

【讨论】:

以上是关于使用索引表空间?的主要内容,如果未能解决你的问题,请参考以下文章

reorg到底需要多少表空间(转)

ORA-01654 索引 无法通过 表空间扩展

oralce 分离表和索引

mysql表结构表空间和索引的查询

oracle数据库,表空间和表之间是啥关系

oracle11g,18存储结构:暂时表,手工条带化,表/索引迁移表空间,删除表,外部表