Etc
백앤드 쿼리 작성시 주의점
SuperDT
2025. 2. 23. 23:54
mybatis 사용시
편의상 where 1=1이나 <where></where> 태그를 사용하는 경우를 종종 볼 수 있다
하지만 이럴 경우,
테이블 Full scan이 발생할 수 있으므로
의미 있는 조건 문 하나를 넣는 것이 가장 좋다고 볼 수 있다
SELECT ID AS id,
NAME AS name,
CREATE_AT AS createAt
FROM TB_USER
WHERE
CREATE_AT = #{createAt, jdbcType=TIMESTAMP}
<if test="name != null and name != ''">
AND NAME LIKE CONCAT('%', #{name}, '%')
</if>