database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 29513 게시물 읽기
No. 29513
like 와 INSTR 어떻게 속도 면에서 좋아요?
작성자
홍길동
작성일
2010-01-21 11:25
조회수
9,412

 

 SELECT * FROM table WHERE name like '%홍길동%'

vs

SELECT * FROM table WHERE INSTR(name, '홍길돋')>0;
 

2개중 어떤걸 사용하는게 좋을까요.

아니면, 다른 좋은 방법 없을까요?

이 글에 대한 댓글이 총 1건 있습니다.

쿼리 둘 다 인덱스를 타지 않으므로 All Type 형식의 테이블 풀스캔을 수행합니다.

내용을 보니 name 컬럼에 홍길동이라는 값이 포함되어 있는 레코드를 검색할려고 하시는 것 같은데

그럴 경우 아래와 같은 쿼리형식이 더 좋습니다.

select * from act WHERE name like '%\홍길동'

홍길동 값 앞에 한개 이상의 어떤값이 있는 경우를 포함해서 검색하는 조건입니다.

http://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html

자세한건 위의 메뉴얼을 참조하세요..

참고로 MySQL 의 프로파일링으로 각 쿼리에 대해서 어느 쿼리가 성능이 좋은지

면밀하게 알 수 있습니다.

 

여비욥스(여비욥스)님이 2010-01-21 15:36에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
29517[질문]필드 문자열처리입니다.
홍창용
2010-01-24
6175
29516mysql 부하문제 [2]
byeong
2010-01-22
9296
29515MySQL에서 C API 사용 ^^ [1]
맥초보
2010-01-21
6303
29513like 와 INSTR 어떻게 속도 면에서 좋아요? [1]
홍길동
2010-01-21
9412
29511서브쿼리 속도 [1]
궁금이
2010-01-19
6939
29510쿼리문과 서버튜닝 질문입니다. [1]
고재철
2010-01-16
6941
29509MYSQL이 중단된 경우... [2]
송기창
2010-01-15
5900
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다