PHP를 사용한 MySQL Levenshtein: 최적화
이 질문은 PHP 스크립트 내에서 Levenshtein 문자열 비교를 수행하는 효율적인 MySQL 접근 방식을 탐구합니다. PHP에서 제공된 코드 조각은 데이터베이스 테이블에서 용어를 검색하고 levenshtein() 함수를 적용하여 검색된 각 용어와 사용자 제공 용어 사이의 편집 거리를 계산합니다. 그러나 코드는 PHP에서 여러 쿼리를 실행하고 결과를 필터링하므로 비효율적일 수 있습니다.
이 문제를 해결하기 위해 보다 최적의 솔루션은 Levenshtein 거리 계산에 MySQL 함수를 활용하는 것입니다. 수정된 코드는 다음과 같습니다.
$word = mysql_real_escape_string($word); mysql_query("SELECT `term` FROM `words` WHERE levenshtein('$word', `term`) BETWEEN 0 AND 4");
이 코드는 단어 테이블을 쿼리하고 단일 쿼리 내에서 levenshtein() 함수를 사용하여 결과를 필터링합니다. 이 함수는 사용자가 제공한 용어와 테이블의 각 용어 사이의 편집 거리를 계산합니다. BETWEEN 조건은 편집 거리가 0에서 4 사이인 용어로 결과를 제한합니다. 이렇게 하면 여러 쿼리와 PHP 기반 필터링이 필요하지 않으므로 더욱 효율적인 솔루션이 됩니다.
위 내용은 PHP를 사용하여 MySQL에서 Levenshtein 문자열 비교를 최적화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!