pg_prewarm
pg_prewarm简介
pg_prewarm模块提供一种方便的方法把关系数据载入到操作系统缓冲区缓存或者MogDB缓冲区缓存。
pg_prewarm安装
-
访问MogDB下载页面,下载所需版本的pg_prewarm插件。
-
解压插件包,例如:
tar -xzvf pg_prewarm-1.1-3.1.0-01-CentOS-x86_64.tar.gz -
进入插件所在目录下,执行
make install命令。cd pg_prewarm/ make install -
连接到数据库,执行
create extension pg_prewarm;插件即可使用。MogDB=# create extension pg_prewarm; CREATE EXTENSION
pg_prewarm加载模式
- mode:加载模式,可选项有“prefetch”、“read”、“buffer”,默认为“buffer”
- prefetch:异步地将数据预加载到操作系统缓存
- read:最终结果跟prefetch一样,但它是同步方式,支持所有平台
- buffer:将数据预加载到数据库缓存
pg_prewarm创建及使用
-
创建pg_prewarm。
create extension pg_prewarm; -
创建测试表。
create table test_pre (id int4,name character varying(64),creat_time timestamp(6) without time zone); -
插入数据。
insert into test_pre select generate_series(1,100000),generate_series(1,100000)|| '_pre',clock_timestamp(); -
查看数据表大小。
MogDB=# select pg_size_pretty(pg_relation_size('test_pre')); pg_size_pretty ---------------- 5136 kB (1 row) -
加载数据到数据库缓存。这里可以看到pg_prewarm把所有数据分为了642块。
MogDB=# select pg_prewarm('test_pre','buffer'); pg_prewarm ------------ 642 (1 row) -
查块大小。
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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




