db2 版本9,建立索引能否指定表空间
建立索引的时候能不能指定其他的表空间,我知道建表的时候是指定了这个表的索引所在表空间,但是能不能在建立索引的时候再重新指定呢?如果建表的时候没有指定索引的表空间,是不是默...
建立索引的时候能不能指定其他的表空间,我知道建表的时候是指定了这个表的索引所在表空间,但是能不能在建立索引的时候再重新指定呢?
如果建表的时候没有指定索引的表空间,是不是默认的就跟表一个空间了?而且没法改? 展开
如果建表的时候没有指定索引的表空间,是不是默认的就跟表一个空间了?而且没法改? 展开
1个回答
展开全部
这个要看是非分区索引,还是分区索引了。
如果是非分区索引:表索引建的时候是可以指定其表空间的,可以使用“ CREATE INDEX … ON … IN <tablespace> ”语法将索引放到不同的表空间中。若未指定索引表空间默认和表所在表空间一致。想修改要重建索引了。
如果是分区索引:对于分区索引,不允许在创建索引时指定“ IN <tablespace> ”子句,这是因为分区索引的特性,每个索引分区的存放位置取决于创建分区表时分区级“ INDEX IN <tablespace> ”子句,如果某个数据分区没有指定该字句,则相应的索引分区将存放在与数据分区相同的表空间中。想修改要重新定义分区表的索引表空间。
如果是非分区索引:表索引建的时候是可以指定其表空间的,可以使用“ CREATE INDEX … ON … IN <tablespace> ”语法将索引放到不同的表空间中。若未指定索引表空间默认和表所在表空间一致。想修改要重建索引了。
如果是分区索引:对于分区索引,不允许在创建索引时指定“ IN <tablespace> ”子句,这是因为分区索引的特性,每个索引分区的存放位置取决于创建分区表时分区级“ INDEX IN <tablespace> ”子句,如果某个数据分区没有指定该字句,则相应的索引分区将存放在与数据分区相同的表空间中。想修改要重新定义分区表的索引表空间。
追问
额,那意思就是说,见表的时候没指定,想要改变的话,就要重建表,重导数据了把
追答
你说对啦
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询