問題:發現資料庫中很多表的索引大小超過資料大小。經檢查,生產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秒.問題都是這樣,當你過後覺得十分十分十分的簡單,但是當時對你來說簡直是暈頭轉向,一方面是行方不斷追問,另一方面是業務人員 都要打爆的質疑。在這樣環境下你需要的是冷靜的思...