EXPLAIN 진단: OR 통합 WHERE는 PostgreSQL planner가 인덱스 결합 못 함 (small table 765 docs라 Seq Scan 선택). Filter 524ms. 해결: WHERE OR을 CTE candidates UNION으로 분해. - title trigram → idx_documents_title_trgm (0.5ms) - ai_summary trigram → idx_documents_ai_summary_trgm (length>0 매치 추가) - FTS @@ → idx_documents_fts_full (0.05ms) EXPLAIN 측정: 525ms → 26ms (95% 감소). 본 SELECT(similarity 가중 합산 + ORDER BY) 추가하면 100~150ms 예상.
6.0 KiB
6.0 KiB