pg索引膨脹問題 重建索引

2021-09-28 21:12:38 字數 950 閱讀 7906

問題:發現資料庫中很多表的索引大小超過資料大小。經檢查,生產ca、cz、mu、hu、psg、riue庫都存在這個現象。

原因:據執行同事介紹索引膨脹問題無法避免,頻繁更新就會帶來這個問題。

方法一:停止應用(這個操作會鎖表),重建索引(注:重建完索引名稱不變)

sql:reindex index 索引名稱

還可以針對表重建索引,這個操作會加排他鎖 :

reindex table 表名 

sql:根據不同索引採用不同的建索引命令,例如:

普通索引

create index concurrently  idx_tbl_2 on tbl(id);

drop index idx_tbl_1;

唯一索引

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;

DBCC DBREINDEX 重建索引

transact sql 參考 重建指定資料庫中表的乙個或多個索引。語法dbcc dbreindex database.owner.table name index name fillfactor with no infomsgs 引數 database.owner.table name 是要重建其...

Oracle重建索引

如果表更新比較頻繁,那麼在索引中刪除標示會越來越多,這時索引的查詢效率必然降低,所以我們應該定期重建索引來消除索引中這些刪除標記。一般不會選擇先刪除索引,然後再重新建立索引,而是rebuild索引。在rebuild期間,使用者還可以使用原來的索引,並且rebuild新的索引時也會利用原來的索引資訊,...

SQL索引重建

前2周出現一件怪異的事情。乙個新版本下發到生產環境之後,某個崗位的某個頁面展示異常的慢,展示達到了20秒,提交一筆頁面則達到了10秒.問題都是這樣,當你過後覺得十分十分十分的簡單,但是當時對你來說簡直是暈頭轉向,一方面是行方不斷追問,另一方面是業務人員 都要打爆的質疑。在這樣環境下你需要的是冷靜的思...