sql >> Databáze >  >> RDS >> PostgreSQL

Hledejte ve 300 milionech adres pomocí pg_trgm

Rozdělení tabulky na oddíly nepomůže vůbec .

Ale ano, existuje dobrý způsob:Upgrade na aktuální verzi Postgres. Došlo k mnoha vylepšením indexů GiST, konkrétně modulu pg_trgm a obecně velkých dat. S Postgres 10 by měl být podstatně rychlejší.

Vaše vyhledávání „nejbližšího souseda“ vypadá správně, ale s malým LIMIT místo toho použijte tento ekvivalentní dotaz:

SELECT address, similarity(address, '981 maun st') AS sml 
FROM   addresses 
WHERE  address % '981 maun st' 
ORDER  BY address &lt-> '981 maun st'
LIMIT  10;

Citování manuálu:




  1. Postgres INTERVAL pomocí hodnoty z tabulky

  2. Kolize konektoru MySQL a hlavičky VC2010

  3. Nelze se připojit přímo z Androidu k SQL Serveru

  4. Odstranění duplicitních dat z tabulky pomocí MySQL