궁금한 점이 있습니다. 25000 개의 키 - 값 쌍과 동일한 정보를 가진 MySQL 데이터베이스가있는 경우 검색 속도가 빨라 집니까?MySQL에서 검색/검색하는 것보다 PHP 배열을 더 빨리 검색하고 있습니다.
많은 분들께 감사드립니다.
궁금한 점이 있습니다. 25000 개의 키 - 값 쌍과 동일한 정보를 가진 MySQL 데이터베이스가있는 경우 검색 속도가 빨라 집니까?MySQL에서 검색/검색하는 것보다 PHP 배열을 더 빨리 검색하고 있습니다.
많은 분들께 감사드립니다.
이 질문에 대답하는 가장 좋은 방법은 벤치 마크를 수행하는 것입니다.
아마 맞을 것입니다. 감사! –
당신 스스로 시도해보아야하지만 적절한 인덱스가 있다고 가정하고 DB가 PHP보다 더 빨리 할 수 있다고 결론을 내릴 것입니다.
그러나 네트워크 대기 시간, SQL과 PHP의 구문 분석 속도 또는 DB로드 및 메모리 사용률에 미치지 못할 수 있습니다.
테스트하기 - 간단해야 할 사항을 간단하게 프로파일 링하십시오.
또한 데이터베이스는 이러한 종류의 작업을 정확하게 처리하도록 설계되었으므로 자연스럽게 잘 수행됩니다. 순진한 바이너리 검색이라 할지라도 17 개를 비교하면 25k 개 요소가 많지 않습니다. 진짜 문제는 분류하는 것이지만 지난 60 년 이상에 걸쳐 그 문제가 정복되었습니다.
에 따라 다릅니다. mysql에서 인덱싱을 사용하면 속도가 빨라지지만 PHP를 사용하면 net을 통해 정보를 보낼 필요가 없습니다 (다른 서버의 mysql 데이터베이스 인 경우).
제 생각에는 배열로 검색하는 것이 더 빠를 것입니다.
당신의 databasa 테이블 설계 방법나는 데이터베이스에서 직접 실행되는 select 문과 php의 배열 검색을 비교한다고 가정했습니다. Not
안녕하세요 Nikola, 정확히 내가하고있는 것입니다. 기본적으로 데이터베이스의 Select 문에서 가져온 문자열을 사용자 입력에서 가져온 문자열과 비교합니다. 나는 이것을 PHP의 array_search 함수와 비교하고있다. –
MySQL은 이와 같이 많은 양의 데이터를 효율적으로 정렬 및 검색 할 수 있도록 구축되었습니다. 이것은 MySQL이 테이블의 기본 키를 인덱싱하기 때문에 키를 검색 할 때 특히 그렇습니다.
명심해야 할 사항 : 데이터베이스에서 CPU 사용량이 많은 경우 검색 속도가 빠르지 않아도 PHP로 수행 할 가치가 있습니다. 일반적으로 확장 할 때 데이터베이스 서버보다 웹 서버를 추가하는 것이 더 쉽습니다.
안녕하세요, 결과를 찾았습니까? –