在 postgresql 資料庫的 查詢代價計算中,會看到有如下的變數:
seq_page_cost; //順序讀頁代價
random_page_cost; //隨機讀頁代價
等等。這些變數在資料庫安裝後我們可以通過兩種方式來修改並生效:
1. ) 在 psql 中通過 set、show 命令,如
seq_page_cost 預設值為 1
psql postgres 進入資料庫
postgres > show seq_page_cost;
postgres > set seq_page_cost = 2.5;
(ps: 因為 seq_page_cost 為 double 型)
postgres > show seq_page_cost;
2.5note: set 設定的值只在當前 session 中有效。想讓值長期有效,請看 2)
2. )修改 pg安裝路徑/data 目錄下的 postgresql.conf 的配置檔案
如:#seq_page_cost = 1 改為
seq_page_cost = 2
如果當前資料庫已經啟動,再執行
pg安裝路徑/bin/pg_ctl -d pg安裝路徑/data reload , 讓執行中的資料庫
從而配置生效。在 psql 中執行 show 命令驗證。
可見,像 seq_page_cost 這樣的全域性可配置的變數很奇妙呀,我們不僅可以通過命令列
指令設定它, 還可以通過修改配置檔案的方式設定它。
那麼如何在 postgresql 中新增功能類似,但我們自己定義的變數了。
未完待續!
PostgreSQL中的資料結構一 可擴充套件雜湊表一
二叉樹搜尋具有對數時間的表現有個假設 輸入資料具有相當的隨機性。現在我們看雜湊表,這種資料結構,其在插入 刪除 查詢操作上也具有常數評價時間的表現,而且這種表現以統計為基礎,不依賴資料的隨機性。我們先看看pg裡的雜湊函式,再看pg裡動態雜湊表 dynmaic hashtable 我認為用 可擴充套件...
基於POSTGRESQL的全域性序列操作
使用全域性序列生成器,在業務中標記區分,比如信令的區分!import org.apache.ibatis.annotations.delete import org.apache.ibatis.annotations.insert import org.apache.ibatis.annotatio...
構建可擴充套件的PostgreSQL解決方案
願碼slogan 連線每個程式設計師的故事 願碼願景 打造全學科it系統免費課程,助力小白使用者 初級工程師0成本免費系統學習 低成本高階,幫助bat一線資深工程師成長並利用自身優勢創造睡後收入。可伸縮性是指軟體系統隨著使用它的業務增長而增長的能力。postgresql提供了一些功能,可以幫助您構建...