답변:
성능 차이를 보려면 다음을 시도하십시오.
SELECT count(*)
FROM master..sysobjects as A
JOIN tempdb..sysobjects as B
on A.name = B.name
SELECT count(*)
FROM master..sysobjects as A
JOIN tempdb..sysobjects as B
on A.name LIKE B.name
'='로 문자열을 비교하는 것이 훨씬 빠릅니다.
Postgres가 문자열 일치를 위해 제공하는 몇 가지 다른 트릭이 있습니다 (DB 인 경우).
대소 문자를 구분하지 않는 LIKE 일치 인 ILIKE :
select * from people where name ilike 'JOHN'
성냥:
그리고 정말로 화를 내고 싶다면 정규 표현식을 사용할 수 있습니다.
select * from people where name ~ 'John.*'
성냥:
'='연산자는 Transact-SQL에서 공백으로 문자열을 채 웁니다. 따라서 'abc' = 'abc '
true를 반환합니다. 'abc' LIKE 'abc '
거짓을 반환합니다. 대부분의 경우 '='는 정확하지만 최근의 경우에는 그렇지 않습니다.
따라서 '='는 빠르지 만 LIKE는 의도를 더 명확하게 진술 할 수 있습니다.
LIKE
패턴 매칭 =
에 사용되며 동일 테스트 COLLATION
에 사용됩니다 (사용중인 정의 ).
=
LIKE
쿼리는 일반적으로 전체 텍스트 검색을 사용하지 않는 한 결과 집합의 모든 단일 레코드를 필터링하여 필터링하여 =
성능을 향상 시키는 동안 인덱스를 사용할 수 있습니다 .