暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

云和恩墨MogDB数据库扩展-pg_prewarm

原创 由迪 2023-04-07
221

pg_prewarm

pg_prewarm简介

pg_prewarm模块提供一种方便的方法把关系数据载入到操作系统缓冲区缓存或者MogDB缓冲区缓存。

pg_prewarm安装

  1. 访问MogDB下载页面,下载所需版本的pg_prewarm插件。

  2. 解压插件包,例如:

    tar -xzvf pg_prewarm-1.1-3.1.0-01-CentOS-x86_64.tar.gz
  3. 进入插件所在目录下,执行make install命令。

    cd pg_prewarm/ make install
  4. 连接到数据库,执行create extension pg_prewarm;插件即可使用。

    MogDB=# create extension pg_prewarm; CREATE EXTENSION

pg_prewarm加载模式

  • mode:加载模式,可选项有“prefetch”、“read”、“buffer”,默认为“buffer”
  • prefetch:异步地将数据预加载到操作系统缓存
  • read:最终结果跟prefetch一样,但它是同步方式,支持所有平台
  • buffer:将数据预加载到数据库缓存

pg_prewarm创建及使用

  1. 创建pg_prewarm。

    create extension pg_prewarm;
  2. 创建测试表。

    create table test_pre (id int4,name character varying(64),creat_time timestamp(6) without time zone);
  3. 插入数据。

    insert into test_pre select generate_series(1,100000),generate_series(1,100000)|| '_pre',clock_timestamp();
  4. 查看数据表大小。

    MogDB=# select pg_size_pretty(pg_relation_size('test_pre')); pg_size_pretty ---------------- 5136 kB (1 row)
  5. 加载数据到数据库缓存。这里可以看到pg_prewarm把所有数据分为了642块。

    MogDB=# select pg_prewarm('test_pre','buffer'); pg_prewarm ------------ 642 (1 row)
  6. 查块大小。

    MogDB=# select current_setting('block_size'); current_setting ----------------- 8192 (1 row)

    MogDB默认每个数据块的大小为8KB。

    MogDB=# select 642*8; ?column? ---------- 5136 (1 row)

MogDB 是云和恩墨基于opengauss 企业级数据库

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论