中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PostgreSQL性能優化舉例分析

發布時間:2021-11-11 09:03:41 來源:億速云 閱讀:311 作者:iii 欄目:關系型數據庫

這篇文章主要講解了“PostgreSQL性能優化舉例分析”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“PostgreSQL性能優化舉例分析”吧!

背景

在空間數據中,通常會有軌跡、點、面的數據,假設有兩張表,一張為面的表,一張為點的表,使用包含 ST_xxxx(c.geom, p.geom) 來進行JOIN(例如以面為單位,聚合統計點的數量)。

例子

測試數據:

Setup

First download some polygons and some points.

Admin 0 - Countries

Populated Places

Load the shapes into your database.

shp2pgsql -s 4326 -D -I ne_10m_admin_0_countries.shp countries | psql performance  
  
shp2pgsql -s 4326 -D -I ne_10m_populated_places.shp places | psql performance

包含大量POINT的空間對象

SELECT count(*)   
  FROM countries   
  WHERE ST_NPoints(geom) > (8192 / 16);

1、使用默認的壓縮格式時,這個空間JOIN查詢,耗時25秒。

SELECT count(*), c.name   
  FROM countries c   
  JOIN places p   
  ON ST_Intersects(c.geom, p.geom)   
  GROUP BY c.name;

使用PERF或oprofile跟蹤其耗時的代碼

發現問題是解壓縮的pglz_decompress 接口造成的。

2、將空間字段改成非壓縮格式,耗時降到4秒。

-- Change the storage type  
ALTER TABLE countries  
  ALTER COLUMN geom  
  SET STORAGE EXTERNAL;  
  
-- Force the column to rewrite  
UPDATE countries  
  SET geom = ST_SetSRID(geom, 4326);  
  
vacuum full countries;   
  
-- Re-run the query    
SELECT count(*), c.name   
  FROM countries c   
  JOIN places p   
  ON ST_Intersects(c.geom, p.geom)   
  GROUP BY c.name;

感謝各位的閱讀,以上就是“PostgreSQL性能優化舉例分析”的內容了,經過本文的學習后,相信大家對PostgreSQL性能優化舉例分析這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

信宜市| 喜德县| 平湖市| 伊宁市| 普定县| 常熟市| 宜章县| 外汇| 嘉祥县| 九台市| 潢川县| 康马县| 福清市| 马鞍山市| 郴州市| 毕节市| 泸溪县| 沁阳市| 大石桥市| 营口市| 同心县| 贺兰县| 克拉玛依市| 青铜峡市| 大关县| 伊川县| 大化| 七台河市| 嘉峪关市| 沂南县| 金塔县| 封丘县| 景谷| 兴城市| 禹州市| 巴青县| 涿鹿县| 监利县| 神农架林区| 辽中县| 台北县|