国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > PostgreSQL > PostgreSQL怎么提前缓存数据

PostgreSQL怎么提前缓存数据

头像

月亮邮递员

2020-03-28 13:52:153258浏览 · 0收藏 · 0评论

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教程

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

宝宝用力嗯脚翘起来怎么回事| 《温柔的大姐姐》动漫免费观看| 台剧《恋爱之瘾》林教授在线观看| 我老公跟我一晚上用很多卫生纸| 驻站多少集| 边添小流边狠狠躁69集 | CSGO未满十八岁能玩多久 | 男人为什么最后要加速| 军营里饱满的乳被揉捏玩弄| 小妹3| 比白洁还牛的四大书| 麻花传MV在线观看第15集预告| 双人床上剧烈运动会越睡越累吗| 少女尖叫之夜1-4集免费| 暴躁老女人免费观看电视剧| 美女被咬小头头视频大全| 电影《偷吃》在线观看| 女性扒开大腿内侧小肚子痒| 爸爸汆肉的日常| 禁忌3| 少妇高潮免费观看A片| 成色18K1835MB| 男人一旦舌吻你私处说明什么心理| 妹妹的性放荡日记H| 蜜桃成熟时33D 在线观看| 《再来一次好吗》免费观看| 双男床上剧烈运动会怎么消除| 蜜桃成熟时33D| 国产 欧美一区二区三区| 国产真实乱人偷精品视频免费| 麻花传MV在线观看第15集预告| 暴躁妹妹CSGO直播| 黑人空乘伦理5| 少女与狗2在线观看免费版高清| 俄罗斯空姐2(俄罗斯航空)| 被扣到眼神失焦| 哈利波特3国语版| 苍老师《荷尔蒙》| 意大利《空乘》3| 4488YY无码亚洲人成| 香港三级巜欲性高蜜桃成熟时类似