bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

PostgreSQL提前緩存數據的方法-創新互聯

創新互聯www.cdcxhl.cn八線動態BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!

專注于為中小企業提供成都網站設計、成都網站制作服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業吉安免費做網站提供優質的服務。我們立足成都,凝聚了一批互聯網行業人才,有力地推動了千余家企業的穩健成長,幫助中小企業通過網站建設實現規模擴充和轉變。

小編給大家分享一下PostgreSQL提前緩存數據的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

PostgreSQL怎么提前緩存數據

預熱功能,使用pg_prewarm函數,方便的將數據緩存至內存中。

這個功能不是自帶的,是存在在擴展包中,所以要使用前需要先添加擴展。

pg_prewarm(regclass, mode text default 'buffer', fork text default 'main', first_block int8 default null, last_block int8 default null) RETURNS int8

第一個參數是預熱的relation。

第二個參數是要使用預熱的方法

第三個參數是relation fork被預熱

第四個參數是預熱的第一個塊號

第五個參數是預熱的最后一個塊號

返回值是prewarm塊的數量。

預熱方法有三種:

1、對操作系統發出異步prefetch請求

2、讀取塊的請求范圍,但可能會較慢

3、緩沖區將請求的塊范圍(執行的查詢)讀入數據庫緩沖區緩存中。

注意,使用這些方法中的任何一種,試圖預熱更多的塊而不是緩存的操作系統——當使用預取或讀取時,或使用PostgreSQL在使用緩沖器時可能會導致較低編號的塊被釋放,因為較高編號的塊被讀入。預熱數據也沒有對緩存驅逐的特殊保護,因此其他系統活動可能會在讀取后不久將新的預熱塊驅逐出去;反之,預熱也可能從高速緩存中驅逐其他數據。由于這些原因,預熱通常在啟動時最有用,當緩存大部分為空時。

操作,實驗環境:

CentOS 7 + PG 10.1

創建extension

mytest=# create extension pg_prewarm ;
CREATE EXTENSION

在這個實驗中,我們需要借助pg_buffercache 來查看內存中的變化。

mytest=# create extension pg_buffercache ;
CREATE EXTENSION

我們重啟一下pg

service postgresql-10 restart

查看內存信息

mytest=# select count(*) from pg_buffercache where relfilenode = (select relfilenode from pg_class where relname = 'test01');
count
-------
0
(1 row)
mytest=# select pg_prewarm('test01','buffer','main') ;
pg_prewarm
------------
2041
(1 row)
mytest=# select count(*) from pg_buffercache where relfilenode = (select relfilenode from pg_class where relname = 'test01');
count
-------
2041
(1 row)

說明表已經被緩存到內存中。

看完了這篇文章,相信你對PostgreSQL提前緩存數據的方法有了一定的了解,想了解更多相關知識,歡迎關注創新互聯-成都網站建設公司行業資訊頻道,感謝各位的閱讀!

分享名稱:PostgreSQL提前緩存數據的方法-創新互聯
分享鏈接:http://vcdvsql.cn/article4/dgoeie.html

成都網站建設公司_創新互聯,為您提供品牌網站設計企業網站制作定制開發網站營銷商城網站電子商務

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網頁設計公司