本文介绍将冷存数据进行预热的最佳实践。
场景描述
冷存中的数据首次查询时延迟会比较高,可以提前预热将其加载到持久化缓存(分层存储中的云盘层),可以起到查询加速的效果。PolarDB PostgreSQL版(兼容Oracle)提供了polar_osfs_prewarm
函数,支持将冷存数据进行预热。
创建扩展
CREATE EXTENSION IF NOT EXISTS polar_osfs_toolkit;
操作步骤
-- 全表预热
select polar_osfs_prewarm('table_name');
-- 预热指定范围内的数据, first_blk:预热的起始块号,last_blk:预热的终止块号
select polar_osfs_prewarm('table_name', first_blk, last_blk);
说明
当冷存对象实际占用的存储比缓存空间大时,会顺序读取冷存表直至写满缓存空间。
如果希望增加缓存比例,可通过控制台界面调大
polar_smgrcache_size
参数,调整完后立即生效,无需重启数据库。
文档内容是否对您有帮助?