1. 程式人生 > >postgresql-pg_prewarm資料預載入。

postgresql-pg_prewarm資料預載入。

pg_prewarm資料預載入。 http://francs3.blog.163.com/blog/static/405767272014419114519709/   https://www.kancloud.cn/taobaomysql/monthly/67170   可能有人比較疑惑:執行1次select * from 不就可以將表的資料讀入shared buffer和OS cache而實現預熱了嗎?豈不是比做這樣一個外掛更簡單?實際上,對於較大的表(大小超過shared buff的1/4),進行全表掃描時,PG認為沒必要為這種操作使用所有shared buffer,只會讓其使用很少的一部分buffer,一般只有幾百K,詳細描述可以參見
關於BAS_BULKREAD策略的程式碼
README)。所以,預熱大表是不能用一個查詢直接實現的,而pg_prewarm正是在這方面大大方便了使用者。
  特別大的表使用select *from是不能將資料載入到記憶體的,資料在os還是shared_buffers效果差不多。