Partycjonowanie tabel wcale nie pomoże .
Ale tak, jest dobry sposób:Uaktualnij do aktualnej wersji Postgresa. Wprowadzono wiele ulepszeń dla indeksów GiST, w szczególności dla modułu pg_trgm i ogólnie dla Big Data. Powinien być znacznie szybszy w Postgres 10.
Wyszukiwanie „najbliższego sąsiada” wygląda poprawnie, ale z małym LIMIT
zamiast tego użyj tego równoważnego zapytania:
SELECT address, similarity(address, '981 maun st') AS sml
FROM addresses
WHERE address % '981 maun st'
ORDER BY address <-> '981 maun st'
LIMIT 10;