2009-11-10 7 views

답변

5

이 질문에 대답하는 가장 좋은 방법은 벤치 마크를 수행하는 것입니다.

+1

아마 맞을 것입니다. 감사! –

1

당신 스스로 시도해보아야하지만 적절한 인덱스가 있다고 가정하고 DB가 PHP보다 더 빨리 할 수 ​​있다고 결론을 내릴 것입니다.

그러나 네트워크 대기 시간, SQL과 PHP의 구문 분석 속도 또는 DB로드 및 메모리 사용률에 미치지 못할 수 있습니다.

0

테스트하기 - 간단해야 할 사항을 간단하게 프로파일 링하십시오.

또한 데이터베이스는 이러한 종류의 작업을 정확하게 처리하도록 설계되었으므로 자연스럽게 잘 수행됩니다. 순진한 바이너리 검색이라 할지라도 17 개를 비교하면 25k 개 요소가 많지 않습니다. 진짜 문제는 분류하는 것이지만 지난 60 년 이상에 걸쳐 그 문제가 정복되었습니다.

0

에 따라 다릅니다. mysql에서 인덱싱을 사용하면 속도가 빨라지지만 PHP를 사용하면 net을 통해 정보를 보낼 필요가 없습니다 (다른 서버의 mysql 데이터베이스 인 경우).

0

제 생각에는 배열로 검색하는 것이 더 빠를 것입니다.

당신의 databasa 테이블 설계 방법
  1. (제대로 인덱스를 사용합니까 등)
  2. 가 쿼리에 내장되는 방법
  3. 데이터베이스는 일반적으로 매우 최적화되어 있습니다 :하지만, 다른 측면에서 정말 여러 가지 요인에 따라 달라집니다 그런 수색을 위해.
  4. 배열에서 수행중인 검색 유형은 무엇입니까? 당신이 할 수있는 몇 가지 유형의 검색이 있습니다. 가장 느린 것은 각 행을 통해 값을 확인하는 빠른 검색과 빠른 검색은 이진 검색입니다.

나는 데이터베이스에서 직접 실행되는 select 문과 php의 배열 검색을 비교한다고 가정했습니다. Not

+0

안녕하세요 Nikola, 정확히 내가하고있는 것입니다. 기본적으로 데이터베이스의 Select 문에서 가져온 문자열을 사용자 입력에서 가져온 문자열과 비교합니다. 나는 이것을 PHP의 array_search 함수와 비교하고있다. –

0

MySQL은 이와 같이 많은 양의 데이터를 효율적으로 정렬 및 검색 할 수 있도록 구축되었습니다. 이것은 MySQL이 테이블의 기본 키를 인덱싱하기 때문에 키를 검색 할 때 특히 그렇습니다.

1

명심해야 할 사항 : 데이터베이스에서 CPU 사용량이 많은 경우 검색 속도가 빠르지 않아도 PHP로 수행 할 가치가 있습니다. 일반적으로 확장 할 때 데이터베이스 서버보다 웹 서버를 추가하는 것이 더 쉽습니다.

관련 문제