テーブルのパーティション分割はまったく役に立ちません 。
しかし、はい、良い方法があります:アップグレード Postgresの現在のバージョンに。 GiSTインデックス、特にpg_trgmモジュール、および一般的なビッグデータに対して多くの改善が行われました。 Postgres10を使用すると大幅に高速になるはずです。
「最近傍」検索は正しいように見えますが、小さなLIMIT
代わりに、この同等のクエリを使用してください:
SELECT address, similarity(address, '981 maun st') AS sml
FROM addresses
WHERE address % '981 maun st'
ORDER BY address <-> '981 maun st'
LIMIT 10;