文档首页 > > 开发指南> SQL参考> SQL语法> ALTER INDEX

ALTER INDEX

分享
更新时间: 2019/11/12 GMT+08:00

功能描述

ALTER INDEX用于修改现有索引的定义。

它有几种子形式:

  • IF EXISTS

    如果指定的索引不存在,则发出一个notice而不是error。

  • RENAME TO

    只改变索引的名字。对存储的数据没有影响。

  • SET TABLESPACE

    这个选项会改变索引的表空间为指定表空间,并且把索引相关的数据文件移动到新的表空间里。

  • SET ( { STORAGE_PARAMETER = value } [, ...] )

    改变索引的一个或多个索引方法特定的存储参数。 需要注意的是索引内容不会被这个命令立即修改,根据参数的不同,可能需要使用REINDEX重建索引来获得期望的效果。

  • RESET ( { storage_parameter } [, ...] )

    重置索引的一个或多个索引方法特定的存储参数为缺省值。与SET一样,可能需要使用REINDEX来完全更新索引。

  • [ MODIFY PARTITION index_partition_name ] UNUSABLE

    用于设置表或者索引分区上的索引不可用。

  • REBUILD [ PARTITION index_partition_name ]

    用于重建表或者索引分区上的索引。

  • RENAME PARTITION

    用于重命名索引分区

  • MOVE PARTITION

    用于修改索引分区的所属表空间。

注意事项

  • 只有索引的所有者有权限执行此命令,系统管理员默认拥有此权限。
  • 不能修改分区表索引的tablespace,但可以修改分区索引的tablespace。

语法格式

  • 重命名表索引的名字。
    ALTER INDEX [ IF EXISTS ] index_name 
        RENAME TO new_name;
  • 修改表索引的存储参数。
    ALTER INDEX [ IF EXISTS ] index_name 
        SET ( {storage_parameter = value} [, ... ] );
  • 重置表索引的存储参数。
    ALTER INDEX [ IF EXISTS ] index_name 
        RESET ( storage_parameter [, ... ] ) ;
  • 设置表索引或索引分区不可用。
    ALTER INDEX [ IF EXISTS ] index_name 
        [ MODIFY PARTITION index_partition_name ] UNUSABLE;

    列存表不支持该语法。

  • 重建表索引或索引分区。
    ALTER INDEX index_name 
        REBUILD [ PARTITION index_partition_name ];
  • 重命名索引分区。
    ALTER INDEX [ IF EXISTS ] index_name 
        RENAME PARTITION index_partition_name TO new_index_partition_name;

参数说明

  • index_name

    要修改的索引名。

  • new_name

    新的索引名。

    取值范围:字符串,且符合标识符命名规范。

  • storage_parameter

    索引方法特定的参数名。

  • value

    索引方法特定的存储参数的新值。根据参数的不同,这可能是一个数字或单词。

  • new_index_partition_name

    新索引分区名。

  • index_partition_name

    索引分区名。

示例

请参见CREATE INDEX的示例

相关链接

CREATE INDEXDROP INDEXREINDEX

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区