日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

虛擬索引(hypopg)

hypopg是一個RDS PostgreSQL的擴展,有助于了解特定索引是否可以提高查詢的性能。虛擬索引并不是真實存在的索引,因此不耗費CPU、磁盤或其他資源,可以有效驗證索引是否有效。

您可以加入RDS PostgreSQL插件交流釘釘群(103525002795),進行咨詢、交流和反饋,獲取更多關于插件的信息。

前提條件

  • 實例內核小版本為20230830或以上。

    重要

    20230830內核小版本之前已支持此插件,但為了規范插件管理,提升RDS PostgreSQL在插件側的安全防護,RDS計劃在內核版本迭代中陸續對部分存在安全風險的插件進行優化,部分插件在低內核小版本無法創建,更多信息,請參見【產品/功能變更】RDS PostgreSQL限制創建插件說明

    • 如果您的實例內核小版本低于20230830,且已經使用了此插件,則不影響使用。

    • 如果您首次創建或重新創建此插件,請升級內核小版本到最新。

  • 您的賬號類型必須為高權限賬號。您可以在RDS控制臺目標實例的賬號管理中查看您的賬號權限類型。如果您的賬號類型為普通賬號,您需要創建高權限賬號,創建詳情請參見創建賬號

開啟或關閉hypopg

說明

虛擬索引只在當前會話內有效。

  • 開啟hypopg。

    CREATE EXTENSION hypopg;
    說明

    僅高權限賬號可以執行此命令。

  • 關閉hypopg。

    DROP EXTENSION hypopg;
    說明

    僅高權限賬號可以執行此命令。

調試示例

  1. 創建表并插入測試數據。

    create extension hypopg;
    
    CREATE TABLE hypo (id integer, val text) ;
    INSERT INTO hypo SELECT i, 'line ' || i FROM generate_series(1, 100000) i ;
    VACUUM ANALYZE hypo ;
  2. 查看默認執行計劃。

    EXPLAIN SELECT val FROM hypo WHERE id = 1;
                           QUERY PLAN
    --------------------------------------------------------
     Seq Scan on hypo  (cost=0.00..1791.00 rows=1 width=14)
       Filter: (id = 1)
    (2 rows)
  3. 創建虛擬索引。

    SELECT * FROM hypopg_create_index('CREATE INDEX ON hypo (id)') ;
     indexrelid |      indexname
    ------------+----------------------
          18284 | <18284>btree_hypo_id
    (1 row)
  4. 查看虛擬索引的效果。

    EXPLAIN SELECT val FROM hypo WHERE id = 1;
                                        QUERY PLAN
    ----------------------------------------------------------------------------------
     Index Scan using <18284>btree_hypo_id on hypo  (cost=0.04..8.06 rows=1 width=10)
       Index Cond: (id = 1)
    (2 rows)
  5. 虛擬索引是“虛擬的”,并不會在實際運行SQL語句時使用??梢圆榭碨QL實際的運行計劃。

    EXPLAIN ANALYZE SELECT val FROM hypo WHERE id = 1;
                                                QUERY PLAN
    ---------------------------------------------------------------------------------------------------
     Seq Scan on hypo  (cost=0.00..1791.00 rows=1 width=10) (actual time=0.046..46.390 rows=1 loops=1)
       Filter: (id = 1)
       Rows Removed by Filter: 99999
     Planning time: 0.160 ms
     Execution time: 46.460 ms
    (5 rows)

相關參考

關于hypopg的更多詳細說明,請參見HypoPG。