国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用pg_prewarm緩存PostgreSQL數(shù)據(jù)庫表

這篇具有很好參考價值的文章主要介紹了使用pg_prewarm緩存PostgreSQL數(shù)據(jù)庫表。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

pg_prewarm

pg_prewarm 直接利用系統(tǒng)緩存的代碼,對操作系統(tǒng)發(fā)出異步prefetch請求,在應(yīng)用中,尤其在OLAP的情況下,對于大表的分析等等是非常耗費查詢的時間的,而即使我們使用select table的方式,這張表也并不可能將所有的數(shù)據(jù)都裝載到內(nèi)存中,而pg_prewarm的功能就是完成一個張表全部進入到內(nèi)存中的功能。

按照官方文檔 PostgreSQL 13的說明,預(yù)熱有兩種方式,一種是手動調(diào)用pg_prewarm函數(shù),用于將當前所需的數(shù)據(jù)裝入內(nèi)存。另一個選擇是自動執(zhí)行,要要設(shè)置shared_preload_libraries參數(shù)。設(shè)置完畢后,系統(tǒng)將自動運行一個后臺工作進程,它定期將shared_buffer中的內(nèi)容寫入到文件 autoprewarm. blocks中,以便在重新啟動數(shù)據(jù)庫后,快速加載該文件內(nèi)部的數(shù)據(jù)塊,實現(xiàn)預(yù)熱功能。

安裝與使用方式

create extension pg_prewarm;
-- t1為表名
SELECT pg_prewarm('t1');

參數(shù)

函數(shù)體為

CREATE FUNCTION pg_prewarm(regclass,
mode text default buffer,
fork text default main,
first_block int8 default null,
last_block int8 default null)
RETURNS int8
AS MODULE_PATHNAME, pg_prewarm
LANGUAGE C
  • regclass:要做prewarm的表名
  • mode:prewarm模式。prefetch表示異步預(yù)取到os cache;read表示同步預(yù)取;buffer表示同步讀入PG的shared buffer
  • fork:relation fork的類型。一般用main,其他類型有visibilitymap和fsm
  • first_block & last_block:開始和結(jié)束塊號。表的first_block=0,last_block可通過pg_class的relpages字段獲得
  • RETURNS int8:函數(shù)返回pg_prewarm處理的block數(shù)目(整型)

因為對于大小超過shared_buffer/4的表進行全表掃描時,pg一般不會使用全部的shared_buffer,而是只使用很少一部分的shared_buffer。所以,將大表加載到緩存中不能用一個查詢來直接實現(xiàn)的,而pg_prewarm正好可以滿足這個需求。

性能測試

在一個3363786記錄數(shù)的業(yè)務(wù)表中,添加緩存之前的

explain (analyze,buffers) select *  from t1;

使用pg_prewarm緩存PostgreSQL數(shù)據(jù)庫表,postGIS,數(shù)據(jù)庫,緩存,postgresql,索引,優(yōu)化,pg_prewarm
添加緩存后

create extension pg_prewarm
SELECT pg_prewarm('t1');
explain (analyze,buffers) select *  from t1;

使用pg_prewarm緩存PostgreSQL數(shù)據(jù)庫表,postGIS,數(shù)據(jù)庫,緩存,postgresql,索引,優(yōu)化,pg_prewarm
對比上面2圖,可以看出,時間大幅度下降.文章來源地址http://www.zghlxwxcb.cn/news/detail-622915.html

到了這里,關(guān)于使用pg_prewarm緩存PostgreSQL數(shù)據(jù)庫表的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • postgresql|數(shù)據(jù)庫|MySQL數(shù)據(jù)庫向postgresql數(shù)據(jù)庫遷移的工具pgloader的部署和初步使用

    postgresql|數(shù)據(jù)庫|MySQL數(shù)據(jù)庫向postgresql數(shù)據(jù)庫遷移的工具pgloader的部署和初步使用

    MySQL數(shù)據(jù)庫和postgresql數(shù)據(jù)庫之間的差異并不多,這里的差異指的是對SQL語言的支持兩者并不大,但底層的東西差異是非常多的,例如,MySQL的innodb引擎概念,數(shù)據(jù)庫用戶管理,這些和postgresql相比是完全不同的(MySQL用戶就是用戶,沒有角色,postgresql有用戶,有角色,但差異不

    2024年02月14日
    瀏覽(36)
  • 使用docker部署postgreSQL數(shù)據(jù)庫

    使用docker部署postgreSQL數(shù)據(jù)庫

    隨著docker的廣泛應(yīng)用,為了提供便利的管理,PostgreSQL數(shù)據(jù)庫也支持docker的安裝方式。下面詳細介紹docker安裝PostgreSQL數(shù)據(jù)庫的方法。 1、查看下載數(shù)據(jù)庫鏡像命令 訪問dockerhub官網(wǎng):https://registry.hub.docker.com/ 地址,下載指定版本的postgresql數(shù)據(jù)庫。 2、執(zhí)行下載命令 在安裝有doc

    2024年02月11日
    瀏覽(15)
  • 使用 Python 連接到 PostgreSQL 數(shù)據(jù)庫

    使用 Python 連接到 PostgreSQL 數(shù)據(jù)庫

    本文介紹了創(chuàng)建與 PostgreSQL 上的數(shù)據(jù)庫的連接的過程。 我們需要安裝 PostgreSQL 和創(chuàng)建數(shù)據(jù)庫等先決條件,如下所述。 顧名思義,PostgreSQL 是一款為高效管理數(shù)據(jù)庫系統(tǒng)而創(chuàng)建的 SQL 系統(tǒng)軟件。 在連接Python之前需要創(chuàng)建數(shù)據(jù)庫。 Postgres,實現(xiàn)它。 許多剛開始學習數(shù)據(jù)庫開發(fā)的

    2024年04月12日
    瀏覽(19)
  • postgresql(一):使用psql導(dǎo)入數(shù)據(jù)庫

    postgresql(一):使用psql導(dǎo)入數(shù)據(jù)庫

    大家好,我是歐陽方超。 聽說postgresql越來越流行了?psql是一個功能強大的命令行工具,用于管理和操作PostgreSQL數(shù)據(jù)庫。它提供了一個交互式環(huán)境,允許用戶執(zhí)行SQL查詢、創(chuàng)建和管理數(shù)據(jù)庫、執(zhí)行備份和恢復(fù)等操作。今天把公司的pg庫遷到Windows機器上,在使用psql命令的過程

    2024年02月12日
    瀏覽(25)
  • postgresql數(shù)據(jù)脫敏技術(shù)介紹以及使用字符替換數(shù)據(jù)庫脫敏示例代碼

    在 PostgreSQL 數(shù)據(jù)庫中實現(xiàn)數(shù)據(jù)脫敏(Data Masking)可以幫助保護敏感數(shù)據(jù)的隱私和安全。數(shù)據(jù)脫敏是通過修改或替換敏感數(shù)據(jù)的方法來隱藏或模糊數(shù)據(jù)的真實值,以防止未經(jīng)授權(quán)的訪問者獲取敏感信息。 以下是一些常見的 PostgreSQL 數(shù)據(jù)庫脫敏技術(shù): 數(shù)據(jù)加密:使用加密算法對

    2024年02月16日
    瀏覽(25)
  • pg數(shù)據(jù)庫安裝

    pg數(shù)據(jù)庫安裝

    pg數(shù)據(jù)庫安裝 下載對應(yīng)的安裝包 安裝服務(wù) 使用安裝包直接安裝 rpm -ivh postgresql13-libs-13.1-3PGDG.rhel7.x86_64.rpm rpm -ivh postgresql13-13.1-3PGDG.rhel7.x86_64.rpm rpm -ivh postgresql13-server-13.1-3PGDG.rhel7.x86_64.rpm rpm -ivh postgresql13-contrib-13.1-3PGDG.rhel7.x86_64.rpm 配置用戶數(shù)據(jù)存儲目錄日志目錄 [root@rocketm

    2023年04月19日
    瀏覽(20)
  • pg數(shù)據(jù)庫授權(quán)

    創(chuàng)建用戶角色 此處說明,在pg庫里面用戶和角色的概念其實無區(qū)別 授權(quán)命令 授權(quán)參數(shù)說明 權(quán)限撤銷 如果用戶需要創(chuàng)建表的權(quán)限對該角色進行全部授權(quán)之后,發(fā)現(xiàn)建表的時候報錯說什么當前用戶是一個readonly的會話可以進行下面操作進行修改 參考連接:https://blog.csdn.net/eagl

    2024年02月11日
    瀏覽(22)
  • C# 使用EntityFramework CodeFirst 創(chuàng)建PostgreSQL數(shù)據(jù)庫

    C# 使用EntityFramework CodeFirst 創(chuàng)建PostgreSQL數(shù)據(jù)庫

    1.先創(chuàng)建一個ASP.Net Web應(yīng)用程序,選擇Web API ?2、創(chuàng)建EntityLib、EF、AppService三個類庫。EntityLib用于存放數(shù)據(jù)庫表所對應(yīng)的實體,AppService用于編寫用戶對實體的一些操作方法,如增刪改查等操作。 ?創(chuàng)建好所有類庫之后,需要添加引用庫EntityFramework6.Npgsql,右擊項目中的引用——

    2024年02月16日
    瀏覽(17)
  • 如何在PostgreSQL中使用pg_stat_statements插件進行SQL性能統(tǒng)計和分析?

    如何在PostgreSQL中使用pg_stat_statements插件進行SQL性能統(tǒng)計和分析?

    PostgreSQL中的 pg_stat_statements 是一個強大的插件,用于追蹤執(zhí)行時間最長的SQL語句。通過它,我們可以獲取有關(guān)SQL語句執(zhí)行頻率、總執(zhí)行時間、平均執(zhí)行時間等信息,從而進行性能調(diào)優(yōu)和問題分析。 首先,我們需要確保 pg_stat_statements 插件已經(jīng)安裝。在大多數(shù)PostgreSQL發(fā)行版中,

    2024年04月25日
    瀏覽(46)
  • PostgreSQL數(shù)據(jù)庫——Docker版本的postgres安裝 & Navicat連接方式+導(dǎo)入向?qū)褂?& SpringBoot結(jié)合Jpa使用PostgreSQL初步

    PostgreSQL數(shù)據(jù)庫——Docker版本的postgres安裝 & Navicat連接方式+導(dǎo)入向?qū)褂?& SpringBoot結(jié)合Jpa使用PostgreSQL初步

    1.PostgreSQL數(shù)據(jù)庫初始,開源; 2.Docker版本的postgres安裝,以及掛載啟動; 3.Navicat連接方式+導(dǎo)入向?qū)褂?,?dǎo)入csv文件; 4.SpringBoot結(jié)合Jpa使用PostgreSQL初步; PostgreSQL是一種開源的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),它是一種高度可擴展的、可靠的、功能豐富的數(shù)據(jù)庫系統(tǒng)。以下是

    2024年02月04日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包