簡體   English   中英

PostgreSQL性能問題

[英]postgresql performance issues

我的問題是有關postgresql查詢的性能。 我有一個表成員,它將容納至少2億和更多的成員。 該系統有一些特殊成員(約10000)。 我有邏輯地處理單個成員,每次都肯定要查詢2-3個特殊成員。

問題是:當將這1萬名成員外部化到自己的表中時,即使他們完全相等,我是否也會體驗性能提升? 因為對它們的查找要快得多,因為行數少了很多?

編輯:查詢是盡可能簡單。 只需通過主鍵查詢並通過外鍵聯接即可。

EDIT2:為簡化問題。 從具有30 000 000+行的表與具有10 000行的表中的主鍵查詢之間是否存在明顯的速度差異? 還是有關適當的索引?

先感謝您

  1. 對於所有查詢,請在EXPLAIN your-query-here運行EXPLAIN your-query-here並檢查是否使用了索引。

  2. 根據該表的更新頻率,您可以在Postgres中創建基本上用作過濾器的VIEW。

在此階段,除非您進行的測量清楚地表明對VIP成員的查詢是一個瓶頸,否則我不會為拆分表而煩惱。

如果以后在這方面遇到問題,您將有一些選擇可以提高性能而無需更改應用程序中的代碼。

其中之一是-VIP會員的單獨索引。 您可以創建僅包含VIP會員數據的部分索引 這將減少查找次數,大約為log(30000000)/ log(10000)〜= 2倍。

另一種選擇是使用表繼承,以便您的應用程序仍然認為它可以使用一個表,但實際上它被拆分為兩個物理表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM