hstore 列に GIN または GiST インデックスを使用するかどうかを決定する必要があります。
Postgresのドキュメントには次のように記載されています。
- GIN インデックスのルックアップは、GiST よりも約 3 倍高速です
- GIN インデックスの構築には、GiST よりも約 3 倍の時間がかかります
- GIN インデックスは、更新が GiST よりも約 10 倍遅い
- GIN インデックスは GiST の 2 倍から 3 倍大きい
私の解釈では、大量のクエリが必要な場合は GIN を使用し、大量の更新が必要な場合は GiST を使用します。
このテストでは、前述の GiST に対する GIN の 3 つの欠点がすべて確認されています。ただし、Postgres のドキュメントで提案されている以外に、GIN の GiST に対する利点 (ルックアップの高速化) は非常に小さいです。スライド 53 は、Postgres のドキュメントで提案されている 200% から 300% とは対照的に、テストでは GIN が 2% から 3% しか速かったことを示しています。
どちらの情報源がより信頼性が高く、その理由は?