2014-06-14 4 views
0

현재 영화 이름을 검색하기 위해 Jquery 자동 완성 기능이 구현되어 있습니다. 그 사이에 150ms의 지연 시간으로 2 문자를 시작했습니다.자동 완성 영화 이름

결과를 반환하는 '% term %'검색과 비슷한 PHP 및 MySQL DB가 있습니다.

매우 느리고 데이터베이스 집약적입니다.

나는 MySQL의 전체 텍스트 검색을 사용했지만 많은 행운이 없었습니다. 아마도 옳은 검색 유형을 사용하지 않았습니다.

누군가가 MySQL 전체 텍스트를 조정할 수 있는지 또는 Lucene이나 Sphinx와 같은 인덱싱 솔루션으로 바로 가야하는지, 1-3 문자만으로 부분 일치하는지 잘 살펴볼 수 있습니까?

답변

0

데이터베이스가 결과를 반환하는 속도에 제한이 있습니다. 속도를 내려면 다음과 같이 제안 할 수 있습니다.

  1. 모든 요청에 ​​대해 PHP에서 mysql에 대한 새 연결을 만들지 마십시오. 데이터베이스 연결 풀링을 사용합니다. 성능이 상당히 향상됩니다. 나는 PHP에서 연결 풀을 수행하는 방법을 모릅니다. This 도움이 될 수 있습니다.

  2. 가능하면 캐시에 결과가 표시되어 매번 데이터베이스에 연결되지 않습니다.

  3. 외부 서비스를 사용하여 자동 완성을위한 데이터를 제공합니다. Autocomplete as a Service을보십시오. 이렇게하면 자동 완성을위한 백엔드 작성을 줄이고 더 빠른 결과를 얻을 수 있습니다.