2010-01-04 5 views
0

내 테이블 구조에서 스크린 샷을 가지고MySQL의 쿼리 최적화

내 사이트에 alt text

나는 검색을위한 두 개의 필드, 도시 (ort) 용 및 산업 일 (branche)가 .

내가 검색하면 : 프랑크푸르트 및 산업 분야에서 (branche가) 내가 verschierung이 어떤 결과를 반환하지 않는 한 : verschierung 프랑크푸르트, 내가 가진의는 도시의 분야에서 그 말을하자

: 여기

alt text

그리고 당신이 내 SQL 쿼리를 가지고 : 나는 내 데이터베이스의 데이터를 가지고, 여기에는 데이터에서 화면 캡이

모든 솔루션?

업데이트 : 지금, 나는 어떤 결과를 얻을 수 있지만, 올바르게 표시되지 않습니다, 여기 당신이 검색 결과에서 사진이 같은 용어를 검색 할 경우

$do = $this->select("*,MATCH(`branche`,`ort`) AGAINST ('".$branche." ".$plz."') AS score") 
    ->where('MATCH(`branche`,`ort`) AGAINST(? IN BOOLEAN MODE)', $branche.' '.$plz) 
    ->order('premium DESC, score'); 

:

alt text

첫 번째 결과 만이 다른 사람의 핵심 결과는 무엇입니까? 왜 그곳에 있습니까?

$do = $this->select() 
      ->where("`ort` LIKE ?",'%'.mysql_escape_string($plz).'%') 
      ->where("`branche` LIKE ?",'%'.mysql_escape_string($branche).'%') 
      ->order("premium DESC"); 
+0

해킹이 쿼리 무엇 : – erenon

+0

편집하기, 그것을 지금 체크하십시오! – Uffo

답변

0

나는 사용하여이 문제를 해결하기 위해 관리? phpmyadmin에서 간단한 sql 쿼리를 실행 해 보셨습니까? 제안 된 질문 제목 : Zend_Db_Select ~ help ~, 최적화 또는 최적화가 아닙니다.
+0

당신은 그 결과가 관련성에 의해 결과를 정렬하지 않는다는 것을 강조합니다 ...;) –