为什么我的带有多个线串的9400 kb PostGIS表只显示17kb& heap_blks_read和heap_blks_hit中的41kb?

时间:2015-03-06 01:50:34

标签: php postgresql postgis geojson

此表通过PHP(无GeoServer)直接向OpenLayers应用程序提供GeoJSON数据。我在浏览器中打开应用程序并开始平移,这需要数百行。根据萤火虫,一个单锅可以返回1000 kb的线串geojson。但是heap_blks_read和heap_blks_hit分别不会高于17kb和41kb。我用来监控缓存率的查询如下。我只是想知道数据库在对几何表进行多次重复查询时的表现如何。

    CREATE OR REPLACE VIEW vw_hit_rate AS 
 SELECT pg_statio_user_tables.relname,
    pg_size_pretty(pg_statio_user_tables.heap_blks_read) AS read,
    pg_size_pretty(pg_statio_user_tables.heap_blks_hit) AS hit,
    round(pg_statio_user_tables.heap_blks_hit::numeric / (pg_statio_user_tables.heap_blks_hit + pg_statio_user_tables.heap_blks_read)::numeric, 3) AS round
   FROM pg_statio_user_tables
  WHERE pg_statio_user_tables.heap_blks_read > 0
  ORDER BY round(pg_statio_user_tables.heap_blks_hit::numeric / (pg_statio_user_tables.heap_blks_hit + pg_statio_user_tables.heap_blks_read)::numeric, 3)
 LIMIT 25;

0 个答案:

没有答案