$sql2 = " select * from {$g5['g5_shop_item_table']} where it_name like '%$name%'"
본문
$sql2 = " select * from {$g5['g5_shop_item_table']} where it_name like '%$name%'"
와
$sql2 = " select * from {$g5['g5_shop_item_table']} where it_name like '$name%'"
차이점이 무엇인가요?
답변 2
위에 구문은 index 를 타지 않고 full scan 을 하게되며
아래 구문은 index 를 탑니다.
검색조건에서는 가급적이면 '$name%'" 로 사용하는게 좋습니다.
(와일드 카드를 양쪽에 써야 하는 이슈가 있다면 최대한 인덱스를 타도록 조건을 바꿔주는게 좋습니다.)
http://stackoverflow.com/questions/2081998/optimization-of-mysql-search-using-like-and-wildcards
'$name%' 은 $name 변수가 앞 부분부터 일치하는 경우에만 검색되고,
'%$name%' 은 $name 변수의 위치에 관계 없이 변수가 있기만 하면 검색됩니다.
답변을 작성하시기 전에 로그인 해주세요.