1

次のような postgres テーブルを作成しました。

name   ID   SNO
jack   12   1
bob    123  2
andy   34   3
jack   23   4

など。合計 4,100 万のエントリがあります。SNO は、連続 INT 値の主キーです。特定の SNO を選択するクエリを実行すると、非常に高速に動作します。でも!特定の名前のすべてのインスタンスを返す必要がある「名前」でクエリを実行する必要があります。名前は一意である必要はなく、おそらく繰り返されますが、異なる ID を持つことに注意してください。名前を検索するクエリは、検索に時間がかかります。これを使用して「名前」にインデックスを作成しようとしました:

CREATE INDEX name ON userlist(name)

ただし、これによりパフォーマンスは向上しますが、それでもまだ遅すぎます。「int」SNOにアクセスするのと同じくらいアクセスパフォーマンスを向上させるために、「テキスト」データ型である「名前」にインデックスを付ける方法はありますか?

4

1 に答える 1

1

メモリ内にインデックス用の十分なスペースを確保してください。これshared_buffersには、設定が役立ちます。

于 2012-07-20T20:15:09.417 に答える