2017-11-10 7 views
0

내 사이트에 ~ 2000 개의 항목을 검색해야하는 검색 기능이 있습니다 (이 테이블은 변경되지 않으며 항상 같은 수의 항목이 있습니다). 이름으로 검색하거나 이름을 'LIKE'하여 ID를 반환하면됩니다. 나는이 두 접근법의 생각 :검색 할 때마다 모든 데이터를 클라이언트 또는 쿼리 서버로 보내면 좋을까요?

    는 많은 사람들이 때이
  1. 는 JSON 파일로 클라이언트에 모든 데이터를 보내기 검색과 비용이 될 것 같은
  2. 쿼리 데이터베이스) (의 keyup에 Ajax를 사용하여,이 보인다 페이지를로드하고 JavaScript를 사용하여 검색하여 데이터베이스의 부하를 줄이십시오.

어떤 접근 방식이 더 좋습니까? 또는 당신이 더 나은 접근법을 가지고 있다면 나는 제안에 개방되어 있습니다.

+0

2000 개 항목 일 경우 클라이언트에 오프로드하면 나중에 확장 성 머리를 아프게 할 수 있습니다. 또한 HTTP 요청 대기 시간이 없기 때문에 검색 지연 시간도 단축됩니다. –

+0

"항목"은 한 단어입니까? 아니면 큰 문서? –

+0

'LIKE'에 와일드 카드가 있습니까? –

답변

0

용도에 따라 다릅니다. 사용자가 검색 단어를 쓰는 동안 또는 사용자가 검색 버튼이나 뭔가를 클릭 할 때 결과를 반환하려는 동안 비행 기능에 대한 검색을 제공 하시겠습니까? 어느 쪽이든, 당신은 실제로는별로없는 2000 개의 레코드에 대해 이야기하고 있습니다. 따라서 나는 모든 정보를 오프라인 메모리 캐시에 저장할 수 있으며 메모리에서 결과를 반환 할 수 있다고 생각합니다. SQL은 쿼리에 대해서도 매우 최적화되어 있으며 2000 레코드의 경우 결과를 캐시하기 때문에 DB에 쿼리를 수행하는 데 아무런 문제가 없어야합니다.