프로젝트내에서 실행되는 쿼리들을 보고 불편한 애들이 좀 있었다.
GIN 함수 기반 인덱스 생성을 통해 해당 문제를 해결하려고 함.
`LOWER(column) like “%” + LOWER() + “%”` 이런 느낌으로 조회를 한다는데
like 문자열 검색에 대한 조회 성능을 위해 GIN 인덱스. Ignore case를 위해 LOWER를 입혀 함수 기반으로 동작하도록 했다.
- 단 각각의 인덱스를 생성했는데 or로 연결되어 있으므로 차라리 중복된 데이터를 보여주더라도 UNION ALL로 처리하는 것도 방법이라는 것

findAllByItemIdIn
이걸 아마 사용하고 있는 도메인이 있는 것 같은데 아마 풀테이블 스캔으로 작동될 것임.
IN을 OR Expansion으로 작동되게 한다고 하더라도 수직 탐색이 너무 많음.
따라서 추천하는 바는 주문이나 shop에서 상품을 주문하거나 보여줄 때 사용하는 거라면 동일한 가게에서의 상품으로만 장바구니가 구성될 것이기 때문에 shop 조건을 추가함으로써 shop_id로 index range scan을 할 수 있도록 하는 것이 좋은 것 같다.