REINDEX命令用于从头开始删除和重新创建索引。当排序规则序列的定义已更改,或表达式的索引中包含涉及其定义已更改的函数的索引时,此功能很有用。
如果REINDEX关键字后面没有排序规则序列或数据库对象标识符,则将重建所有附加数据库中的所有索引。
如果REINDEX关键字后跟排序规则序列名称,则将重新创建所有使用命名排序规则序列的附加数据库中的所有索引。
或者,如果附加在REINDEX上的参数标识了特定的数据库表,那么将重建该数据库表上附加的所有索引。如果它标识了特定的数据库索引,则仅重新创建该索引。
对于格式为“ REINDEX name ”的命令,与collation-name的匹配优先于与index-name或table-name的匹配。通过在重新索引特定表或索引时始终指定方案名称,可以避免语法上的歧义 。