2

私のサーバーはジンインデックスを使用しないようです。

  1. 1 つのテーブルを持つ新しいデータベースを作成しました。
  2. 例として 1 行挿入しました。
  3. トライグラム拡張機能をロードし、トライグラムを使用して gin インデックスを作成しました
  4. しかし、インデックスが正しく機能するかどうかを確認すると、そうではないことがわかります
  5. 何か案は?

SQL: http://pastebin.com/1yDQQA1Z

PS 1日前、トライグラムに関するチュートリアルをフォローしました。基本的には上記の私の例と同じでした。テーブルには、numeric(5, 0) と文字可変 (gin trgm インデックスを持つもの) の 2 つの列がありました。クエリは「%」を使用した類似演算子であり、インデックスは機能していました (クエリの説明で使用されているビットマップを見ることができました)。したがって、サーバーがインデックスを使用できる (および適切にインストールされている) ことがわかります。

前もって感謝します。

4

1 に答える 1

6

1行でテストしないでください。意味がありません。

以下は、 Examineing Index Usageの理由を説明するドキュメントの抜粋です。

実験には実際のデータを使用します。テスト データを使用してインデックスを設定すると、テスト データに必要なインデックスがわかりますが、それだけです。

非常に小さなテスト データ セットを使用することは、特に致命的です。100000 行から 1000 行を選択することはインデックスの候補になる可能性がありますが、100 行から 1 行を選択することはほとんどありません。100 行が 1 つのディスク ページに収まる可能性が高く、1 ディスク ページを順次フェッチすることに勝る計画はないからです。 .

于 2013-01-27T13:37:07.363 に答える