postgresql로 만들어진 테이블에서음식의 이름을 검색하는 기능을 구현해야 했다. 유저가 특정 키워드를 입력하면 그 키워드가 포함된 음식을 반환하는 방식이다. SQL의 LIKE 문법과 와일드 카드(%)를 사용하면 문자열을 포함한 결과를 조회할 수 있지만, SELECT *FROM foodsWHERE name LIKE '%키워드%';키워드 앞에 와일드 카드(%)를 붙이면name 필드의 인덱스를 사용할 수 없다. 검색에서 인덱스를 타지 않으면 full table scan을 하게되고,테이블의 크기가 클 수록 조회 쿼리의 부하가 커진다. LIKE 검색 시 인덱스를 사용하기 위해 찾은 방법은pg_trgm 트라이그램(trigram)이라는 postgresql 확장 기능을 사용하는 것이다. Postgresql 공식..