真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

PostgreSQL提前緩存數(shù)據(jù)的方法-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!

專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計、成都網(wǎng)站制作服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)吉安免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了千余家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。

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

PostgreSQL怎么提前緩存數(shù)據(jù)

預(yù)熱功能,使用pg_prewarm函數(shù),方便的將數(shù)據(jù)緩存至內(nèi)存中。

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

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

第一個參數(shù)是預(yù)熱的relation。

第二個參數(shù)是要使用預(yù)熱的方法

第三個參數(shù)是relation fork被預(yù)熱

第四個參數(shù)是預(yù)熱的第一個塊號

第五個參數(shù)是預(yù)熱的最后一個塊號

返回值是prewarm塊的數(shù)量。

預(yù)熱方法有三種:

1、對操作系統(tǒng)發(fā)出異步prefetch請求

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

3、緩沖區(qū)將請求的塊范圍(執(zhí)行的查詢)讀入數(shù)據(jù)庫緩沖區(qū)緩存中。

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

操作,實驗環(huán)境:

CentOS 7 + PG 10.1

創(chuàng)建extension

mytest=# create extension pg_prewarm ;
CREATE EXTENSION

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

mytest=# create extension pg_buffercache ;
CREATE EXTENSION

我們重啟一下pg

service postgresql-10 restart

查看內(nèi)存信息

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)

說明表已經(jīng)被緩存到內(nèi)存中。

看完了這篇文章,相信你對PostgreSQL提前緩存數(shù)據(jù)的方法有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!


新聞標題:PostgreSQL提前緩存數(shù)據(jù)的方法-創(chuàng)新互聯(lián)
URL標題:http://weahome.cn/article/dgoeie.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部