PGSQL規則系統

2021-10-04 11:01:08 字數 1048 閱讀 4610

規則系統又叫查詢重寫規則系統,位於查詢分析器和優化器之間.

輸入:分析器的輸出(是乙個querytree)+ pg_rewrite 表裡的重寫規則(也是乙個querytree)

輸出:若干個querytree

作用:修改查詢以後再傳遞給優化器。可以用在procedure、view和版本中。

它是乙個 sql 語句的內部表現形式,這時組成該sql語句的每個部分都是分別儲存的.

這裡說的各個部分包括:

1.命令型別 ( commandtype )

select,insert,update,delete.

2.可排列元素 (rangetable)

from子句

3.結果關係(resultrelation)

更改影響的表(只有insert,update和delete有)

4.條件 (qualification)

where 子句

5.連線樹

join表的條件和順序

6.其他

如order by 等

pg中建立乙個檢視:

create

view v_t1 as

select

*from t1;

在內部,這句話實際上是這樣操作的:

/*建立一張與t1結構相同的表*/

create

table v_t1(id int

,name varchar(30

));/*建立乙個檢視規則(注意必須命名為"_return"),該規則把查詢重定向到t1表,執行這步操作後v_t1就變成了乙個檢視*/

create

rule

"_return"

ason

select

to v_t1 do instead為)

select

*from t1;

因此可以看出,實際上檢視和表對優化器來說沒有任何區別。

建立檢視以後,可以發現表pg_rewrite中增加了一條資料。

pgsql處理文件型別資料 pgsql使用文件

pgsql使用文件 也是一種資料庫。安裝yum install postgresql server y 基礎配置 使用mkdir建立資料目錄 mkdir data postgres 使用chown賦予postgres data postgres許可權 chown postgres.postgres ...

Sentinel 熱點規則 系統規則

將商品檢視介面看做成乙個 sentinelresource sentinelresource value getorder public orderinfo getinfo pathvariable long id,authenticationprincipal string username 在 ...

系統 windir 規則

systemdrive 或 homedriver 表示 當前系統碟符 c systemdrive 表示 系統盤下所有檔案 資料夾 systemroot 或 windir 表示 當前系統目錄 c windows userprofile 或 homepath 表示 當前使用者配置檔案資料夾 c docu...