PostgreSQL FTS: 간단한 최적화로 50배 속도 향상

최근 Neon의 벤치마크에서 PostgreSQL의 내장 전문 검색(FTS)이 pg_search보다 느리다는 결과가 나왔습니다. 하지만 이 글에서는 Neon의 벤치마크가 최적화되지 않은 표준 FTS 설정을 사용했음을 밝힙니다. `tsvector` 열을 미리 계산하여 저장하고 `fastupdate=off`로 GIN 인덱스를 설정하면 극적인 성능 향상을 얻을 수 있습니다. 1000만 행 데이터셋 실험에서 약 50배의 속도 향상을 보였으며, 이는 적절히 최적화된 표준 FTS가 전용 검색 엔진에 필적함을 증명합니다. 이 글에서는 순위 지정 작업에서 뛰어난 성능을 보이는 BM25 기반 확장 기능인 VectorChord-BM25에 대해서도 논의합니다.
더 보기