GaussDB(DWS)運維 -- SQL操作 -- 查找冗余索引

      網友投稿 1256 2025-04-01

      【簡介】

      GaussDB(DWS)運維 -- SQL操作 -- 查找冗余索引

      索引是常見的查詢性能優化手段,但索引本身也需要占用一定的磁盤空間,同時也會降低數據入庫的性能。通過學習和了解GaussDB(DWS)的btree索引和cbtree的機制,本文提供一種依靠索引元數據來識別表上索引冗余的手段

      【方案】

      注: 不支持表達式索引, 不區分partial index和普通的index

      -- duplicate:重復索引 -- 解釋:索引定義重復 -- 建議:刪除重復索引 -- redundancy:冗余索引 -- 解釋:如果索引A的索引列剛好是索引B的索引列的前面一部分,那么索引A就可以被認為是冗余索引 -- 建議:刪除冗余索引 -- optimizable:可優化索引 -- 解釋:如果索引A和B的索引列一致,只是索引列的順序有差異,那么索引A或者B是可優化的 -- 建議:根據業務優化索引的列字段,通常會根據重復程度,刪除索引的后N個索引列 WITH info AS ( SELECT n.nspname AS schemaname, c.relname AS tablename, x.indrelid AS indrelid, x.indexrelid AS indexrelid, indnatts, indkey, indexprs FROM pg_index x JOIN pg_class c ON c.oid = x.indrelid JOIN pg_class i ON i.oid = x.indexrelid LEFT JOIN pg_namespace n ON n.oid = c.relnamespace WHERE c.relkind = 'r' AND c.oid >= 16384 AND (c.reloptions IS NULL OR c.reloptions::text NOT LIKE '%internal_mask%') AND i.relkind = 'i' AND i.oid >= 16384 AND x.indpred IS NULL ) SELECT i.schemaname, i.tablename, i.indexrelid::regclass::text AS baseidx, substring(pg_get_indexdef(i.indexrelid) from 'USING .+\)') AS baseidxdef, x.indexrelid::regclass::text AS optidx, substring(pg_get_indexdef(x.indexrelid) from 'USING .+\)') AS optidxdef, CASE WHEN i.indkey = x.indkey AND pg_get_expr(i.indexprs, i.indrelid) = pg_get_expr(x.indexprs, x.indrelid) THEN 'duplicate'::text WHEN x.indexprs IS NULL AND strpos(i.indkey::text||' ', x.indkey::text) = 1 THEN 'redundancy'::text WHEN x.indexprs IS NULL AND i.indkey @> x.indkey AND x.indkey @> i.indkey THEN 'optimizable'::text ELSE NULL END AS optpolicy FROM info i INNER JOIN pg_index x ON (i.indrelid = x.indrelid AND i.indexrelid > x.indexrelid) WHERE x.indpred IS NULL AND optpolicy IS NOT NULL ORDER BY 1, 2, 3 ;

      EI企業智能 Gauss AP SQL 數據倉庫服務 GaussDB(DWS) 運維

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:體育俱樂部項目計劃書模板(體育項目企劃書)
      下一篇:ROW(ROWS)、COLUMN(COLUMNS)函數用法小結
      相關文章
      亚洲AV之男人的天堂| 亚洲一级高清在线中文字幕| 国产色在线|亚洲| 亚洲国产综合专区在线电影 | 亚洲?V乱码久久精品蜜桃| 亚洲精品无码专区在线播放| 亚洲中文字幕一二三四区| 性xxxx黑人与亚洲| 亚洲AV无码国产精品色| 亚洲男女性高爱潮网站| 麻豆亚洲av熟女国产一区二| 亚洲一区二区中文| 亚洲综合男人的天堂色婷婷| 亚洲综合综合在线| 亚洲中文字幕久久精品无码2021| 亚洲国产日韩女人aaaaaa毛片在线| 亚洲午夜久久影院| 亚洲白色白色永久观看| 国产色在线|亚洲| 亚洲精品乱码久久久久久蜜桃图片 | 久久精品国产精品亚洲艾| 亚洲an天堂an在线观看| 亚洲视频在线观看视频| 亚洲三级在线播放| 中文无码亚洲精品字幕| 亚洲精品永久在线观看| 亚洲国产精品碰碰| 亚洲日本一区二区三区在线| 亚洲爆乳无码专区| 亚洲视频免费播放| 精品久久亚洲中文无码| 亚洲精品国产suv一区88| 精品亚洲av无码一区二区柚蜜| 亚洲不卡AV影片在线播放| 亚洲一级特黄大片无码毛片 | 亚洲酒色1314狠狠做| 中文字幕亚洲综合小综合在线| 亚洲熟妇无码一区二区三区导航| 亚洲av成人中文无码专区| 亚洲精品成人久久久| 伊人久久大香线蕉亚洲五月天|