赞
踩
今天遇到查询数据库表数据,报错需要重建索引
PSQLException: 错误: 索引"nnn"在块0上包含未期望的零页 建议:请重建索引 (REINDEX)
创建索引语法:
CREATE INDEX index_name ON table_name (column_name);
方法一:停止应用(这个操作会锁表),重建索引(注:重建完索引名称不变)
reindex index 索引名称
也可以针对表重建索引,这个操作会加排他锁 :
reindex table 表名
方法二:在线建新索引,再把旧索引删除
根据不同索引采用不同的建索引命令,例如:
普通索引
drop index idx_tbl_1;
create index concurrently idx_tbl_1 on tbl(id);
唯一索引
- create unique index concurrently user_info_username_key_1 on user_info(username);
- begin;
- alter table user_info drop constraint user_info_username_key;
- alter table user_info add constraint user_info_username_key unique using index user_info_username_key_1;
- end;
主键索引
- create unique index concurrently user_info_pkey_1 on user_info(id);
- begin;
- alter table user_info drop constraint user_info_pkey;
- alter table user_info add constraint user_info_pkey primary key using index user_info_pkey_1;
- end;
时间:不停应用的话,业务忙的时候可能会非常长的时间。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。