728x90

contains 3

전체 텍스트 인덱스, 전체 텍스트 카달로그

전체 텍스트 검색 : 긴 문장으로 구성된 열의 내용을 검색 할때 인덱스를 사용할 수 없지만 인덱스를 사용할 수 있는 것처럼 만들어서 검색을 빠르게 하는 것 SELECT문의 WHERE or FROM 전에 관련된 키워드를 사용 SELECT * FROM FulltextTbl WHERE description LIKE '%남자%'; : 이렇게 하면 index 검색이 아닌 table scan CREATE FULLTEXT CATALOG movieCatalog AS DEFAULT; : 전체 텍스트 인덱스가 저장될 가상의 공간 CREATE FULLTEXT INDEX ON FullTextTbl(description) KEY INDEX pk_id ON movieCatalog WITH CHANGE_TRACKING AUTO; ..

MS-SQL 2022.12.11

queryDsl로 like 문 구현

회원 페이지를 개발했는데 검색 기능이 필요하다. Querydsl의 like로 코드를 작성하고 확인해보니 컬럼의 풀텍스트가 일치하는 것만 출력이 된다. 앞뒤로 %를 붙이니 부분 텍스트만 입력해도 일치하는 것으로 리스트가 출력된다. contains는 어떨까 싶어서 확인해보니 %를 넣지 않아도 like에다가 %를 앞뒤로 붙인 것과 같은 결과가 출력된다. 차이를 레퍼런스를 통해서 확인했는데 둘 다 StringExpression 클래스에 속해있고 간단한 설명은 다음과 같다. query = query.where(qUserEntity.email.like(userEmail)); //지정된 str(userEmail)과 같으면 return query = query.where(qUserEntity.email.contains..

QueryDSL 2022.09.19

검색 조건 쿼리(feat. QueryDSL)

JPAQuery query = new JPAQuery(em); //검색 조건 쿼리 실행 QItem item = QItem.item; List list = query.from(item) .where(item.name.eq("좋은상품").and(item.price.gt(20000))) .list(item); //조회할 프로젝션 지정 select item --실행된 JPQL from Item item where item.name ?1 and item.price > ?2 QueryDSL의 where 절에는 and 나 or을 사용할 수 있다. 또한 다음처럼 여러 검색 조건을 사용해도 된다. 이때는 and 연산이 된다. .where(item.name.eq("좋은 상품"), item.price.gt(20000)) 쿼..

QueryDSL 2022.06.17
728x90