2017-04-06 124 views
1

我想在我的PostgreSQL表中存儲一個簡單的鍵值字符串映射表作爲一個字段。我打算把整個地圖作爲一個整體;即總是選擇整個地圖,並且從不按其鍵或值查詢。用於存儲鍵值映射的最佳PostgreSQL數據類型?

我讀過hstorejsonjsonb之間,比較的文章,但這些並沒有幫助我選擇哪一個數據類型是最恰當不過了我的要求,它們是:

  • 只有鍵值,不需要嵌套。
  • 只有字符串,沒有其他類型,也沒有null
  • 存儲效率,因爲我在該領域的預期用途。
  • 快速解析查詢的地圖。

什麼數據類型最適合我的用例?

+1

肯定'hstore' –

+0

IIRC,'jsonb'是作爲一個嵌套'hstore'實現的,所以也應該可以工作。 – jmelesky

+0

@a_horse_with_no_name如果你想詳細說明,我會生活:) –

回答

1

你可以使用hstore這是一個鍵盤映射,但我個人會對我們jsonb。這有點矯枉過正,但是,語言可以本地轉換json,而無需自己解碼。

在json中,我只是爲你想存儲的信息存儲一個簡單的對象或數組。

兩者均支持索引並被有效存儲。

文本中的Hstore是一種自定義類型的格式,您的語言可能不知道,因此需要處理要插入或查詢的數據。

+0

根據編程語言'hstore'不需要任何「轉換」。例如,JDBC驅動程序只是爲'hstore'列的內容返回一個'Map' –

相關問題