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

開啟和使用向量化引擎

本文介紹如何開啟向量化引擎,以及開啟功能后的使用方式。

使用限制

  • PolarDB PostgreSQL版14.10.20.0及以上版本支持向量化引擎。

  • 原表必須有主鍵,且必須將主鍵列加入到加速索引中。

  • 目前只針對靜態數據,創建加速索引后,新增的動態數據無法通過加速索引查詢。

  • 目前支持的一致性級別為最終一致性。

  • 一張表只能創建一個加速索引,加速索引中可以包含多個列。

  • 不支持自定義數據類型,即通過CREATE TYPE語句創建的數據類型無法使用加速索引。

  • 不支持存儲過程的加速。

  • 當查詢語句使用的內存超過polar_csi.memory_limit指定的內存容量時會失敗。

開啟方式

PolarDB PostgreSQL版向量化引擎是一個內部的功能模塊,與PolarDB PostgreSQL版已有的所有功能完全融合,可以在現有的PolarDB PostgreSQL版集群中免費開啟/關閉該功能,無需為該功能單獨付費或額外購買新集群。

PolarDB PostgreSQL版向量化引擎作為插件(polar_csi)部署在數據庫集群中,在使用之前需要在指定的數據庫中創建插件。

具體步驟如下:

  1. 通過psql命令連接到現有集群的數據庫,使用時請將{}中的內容替換為集群的連接信息,查看連接信息請參考查看或申請連接地址

    psql -h {host} -p {port} -U {user_name} {dbname}
  2. 登錄到數據庫后,創建polar_csi插件。

    說明

    需要注意的是,polar_csi插件的作用域是database級別,如果需要在一個集群的多個database中使用向量化引擎能力,需要為每個database分別創建polar_csi插件。

    CREATE EXTENSION polar_csi;
  3. 開啟向量化引擎功能(創建polar_csi插件后默認為關閉狀態)。

    SET polar_csi.enable_query = ON;

語法說明

  • 創建/刪除polar_csi插件:

    ------創建polar_csi插件
    CREATE EXTENSION polar_csi;
    
    ------刪除polar_csi插件
    DROP EXTENSION polar_csi;
  • 開啟/關閉向量化引擎功能,生效范圍為會話或數據庫。

    SET polar_csi.enable_query = [on|off];
    SET polar_csi.enable_query to [on|off];
  • 創建加速索引,與PostgreSQL現有的CREATE INDEX語法一致,下列語句中primary_key是原表的主鍵列。

    CREATE INDEX xxx ON xxx USING CSI(primary_key,c1,c2,c3);
  • 查看加速索引創建速度。

    SELECT * FROM pg_stat_progress_create_index;
  • 查看某張表是否存在加速索引,可以使用\d命令。下列示例中,source_table_csi即為表source_table的加速索引。

    image

  • 刪除加速索引。

    DROP INDEX xxx;
  • 重建加速索引。

    REINDEX INDEX xxx;
  • 查看Query是否使用加速索引:explain結果出現CSI Executor關鍵詞時即表示使用加速索引。

    EXPLAIN SELECT COUNT(*) FROM source_table;
      QUERY PLAN  
    --------------
     CSI Executor
    (1 row)
  • 使用Hint方式開啟/關閉,生效范圍為SQL語句。

    說明

    需要依賴pg_hint_plan插件,創建對應插件請使用CREATE EXTENSION

    /*+ SET (polar_csi.enable_query on/off) */ SELECT ....

配置參數

參數名

取值范圍

默認值

說明

polar_csi.enable_query

on|off

off

是否啟用向量化引擎。

polar_csi.exec_parallel

1~512

2

向量化引擎執行單條查詢語句的并行度。

請根據集群規格來調整該參數的值,建議polar_csi.exec_parallel參數值與polar_csi.scan_parallel參數值之和不超過集群的CPU數量,且polar_csi.exec_parallel的值大于等于polar_csi.scan_parallel的值。

polar_csi.scan_parallel

1~16

2

向量化引擎執行單條查詢語句時,scan算子的并行度。

請根據集群規格來調整該參數的值,建議polar_csi.exec_parallel參數值與polar_csi.scan_parallel參數值之和不超過集群的CPU數量,且polar_csi.exec_parallel的值大于等于polar_csi.scan_parallel的值。

polar_csi.memory_limit

1~1048576

1024

向量化引擎可以使用的內存,單位:MB。

請根據集群規格來調整該參數的值,建議不超過集群內存的25%。

polar_csi.cost_threshold

1~1000000000

1000

當查詢代價小于該閾值時,查詢語句不會使用向量化引擎來加速。

建議調大該參數的值,否則可能會影響TP類查詢的性能。

數據類型

  • 完全支持的數據類型如下:

    類別

    數據類型

    bool 型

    BOOLEAN

    字符與二進制

    CHARVARCHARBPCHARTEXTBYTEAARRAYNAMEINTERVAL

    時間型

    DATETIMETIMESTAMPTIMESTAMP WITH ZONE

    數值型

    SHORTSMALLINTINTEGERBIGINTDECIMAL(需要指定精度)、NUMERICSERIALUUIDENUMFLOAT4FLOAT8

  • 有限支持的數據類型如下:JSONBJSON