PostgreSQL FTS: 50-fache Beschleunigung durch einfache Optimierungen
Ein kürzlich durchgeführter Benchmark von Neon zeigte, dass die integrierte Volltextsuche (FTS) von PostgreSQL hinter pg_search zurückfällt. Dieser Artikel enthüllt jedoch, dass Neons Benchmark eine nicht optimierte Standard-FTS-Konfiguration verwendete. Durch Vorkalkulation und Speicherung der `tsvector`-Spalte und Konfiguration von GIN-Indizes mit `fastupdate=off` wird eine dramatische Leistungsverbesserung erzielt. Experimente mit einem Datensatz mit 10 Millionen Zeilen zeigten eine etwa 50-fache Geschwindigkeitsverbesserung, was beweist, dass eine richtig optimierte Standard-FTS mit dedizierten Suchmaschinen mithalten kann. Der Artikel untersucht auch VectorChord-BM25, eine auf BM25 basierende Erweiterung, die bei Ranking-Aufgaben hervorragende Leistungen erbringt.
Mehr lesen