400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
YMatrix 文档
关于 YMatrix
标准集群部署
数据写入
数据迁移
数据查询
运维监控
参考指南
工具指南
数据类型
存储引擎
执行引擎
系统配置参数
SQL 参考
常见问题(FAQ)
新架构 FAQ
集群部署 FAQ
SQL 查询 FAQ
MatrixGate FAQ
运维 FAQ
监控告警 FAQ
PXF FAQ
PLPython FAQ
性能 FAQ
重建索引。
REINDEX {INDEX | TABLE | DATABASE | SYSTEM} name
REINDEX使用存储在索引表中的数据重建索引,替换索引的旧副本。 在几种情况下可以使用REINDEX:
INDEX
TABLE
DATABASE
SYSTEM
name
REINDEX与删除索引和重新创建索引相似,因为索引内容是从头开始重建的。 但是,锁定注意事项却大不相同。 REINDEX锁定对索引的父表的写入但不锁定读取。 它还对正在处理的特定索引采取排他锁,这将阻塞该索引的读取。 相反,DROP INDEX会立即对父表加排他锁,从而阻止写入和读取。 随后的CREATE INDEX锁定写但不锁定读; 由于索引不存在,因此不会进行任何读取尝试,这意味着不会有阻塞,但读操作可能会强制进行高代价的顺序扫描。
重新索引单个索引或表要求是该索引或表的所有者。 重新索引数据库需要成为数据库的所有者(请注意,所有者可以因此重建其他用户拥有的表的索引)。 当然,超级用户可以随时重新索引任何内容。
REINDEX不会更新索引的reltuples和relpages统计信息。 要更新这些统计信息,请在重新建立索引后在表上运行ANALYZE。
如果您怀疑共享的全局系统目录索引已损坏,则只能在 YMatrix utility 模式下对它们进行索引。 共享索引损坏的典型症状是“索引不是btree”错误,否则服务器将在启动时由于依赖损坏的索引而立即崩溃。 在这种情况下,请联系 YMatrix 客户支持:info@ymatrix.cn。
重建单个索引:
REINDEX INDEX my_index;
重建表my_table上的所有索引:
REINDEX TABLE my_table;
SQL标准中没有REINDEX命令。