如何知道创建索引所占用的表空间空间

时间:2014-10-17 12:34:40

标签: database oracle indexing oracle10g tablespace

我必须在oracle数据库上的特定表空间上创建索引。我想知道是否有一种方法可以告诉表空间需要多少空间来创建索引,所以我可以保证我的表空间能够处理这样的索引。

2 个答案:

答案 0 :(得分:1)

dbms_space包有一个过程create_index_cost,它将告诉你将分配给索引段的字节数(如果你正在尝试的话,大概就是你关心的确定它是否适合您的表空间)以及实际使用的分配的字节数。但是,此过程依赖于在基础表上收集的统计信息,因此如果这些统计信息不准确,则过程的估计也将是不准确的。

答案 1 :(得分:0)

快速网络搜索会产生这种情况(删除了该用户特定情况的实际计算结果):

  

可以通过对索引所需空间的粗略估计   添加每列的预期实际长度加上rowid的6加上2将有一个条目的表行的标题X数...

     

我们将使用20%的块开销......

     

实际分配将根据您的表空间范围分配方法而有所不同。

来自here

或更详细的估算方式here