이제 두 사람의 주소록 중 중복된 부분(즉, 동일한 주소록을 가진 사람)을 찾아야 하는 일련의 주소록 데이터(10,000명 이상의 주소록)가 있습니다. 누구와 몇 개의 항목이 반복되는지) 각 사람의 주소록을 쌍으로 비교하십시오
예를 들어 ABCDE의 주소록이 4개 있고 AB AC AD AE BC BD BE CD 사이의 주소록에서 중복 항목 수를 찾으십시오. CE DE
휴대폰번호가 중복되면 이 2개의 주소록도 중복된 것으로 간주합니다
데이터표인데, 개인 주소록이 10,000개 이상 있습니다
목록 필드에 저장된 json은 주소록의 내용입니다
사람의 주소록은 100~1000개입니다
현재 제가 하려는 작업은 모든 사람의 주소록을 한 번에 꺼내고 첫 번째 사람의 주소록을 나머지 주소록(foreach 배열, 내부에 foreach가 중첩되어 있음)과 비교한 다음 두 번째 사람의 주소를 비교하는 것입니다. foreach 배열을 사용하여 나머지 비교는
스크립트 부분 코드
를 위한 것입니다.
그런 다음 스크립트를 실행합니다. 스크립트를 실행하는 데 20시간 이상이 걸렸고 절반 정도만 완료되었습니다. 메모리와 CPU 사용량도 상대적으로 높습니다
이 일괄 데이터에서 중복된 부분을 찾는 더 좋은 방법이 있는지, 아니면 스크립트를 최적화하는 방법이 있는지 묻고 싶습니다답글 내용:
예를 들어 ABCDE의 주소록이 4개 있고 AB AC AD AE BC BD BE 사이의 주소록에 중복된 항목의 수를 알아봅니다. CD CE DE
휴대폰번호가 중복되면 이 2개의 주소록도 중복된 것으로 간주합니다
데이터표인데, 개인 주소록이 10,000개 이상 있습니다
목록 필드에 저장된 json은 주소록의 내용입니다
사람의 주소록은 100~1000개입니다
스크립트 부분 코드
그런 다음 스크립트를 실행합니다. 스크립트를 실행하는 데 20시간 이상이 소요되었으며 절반 정도만 완료되었습니다. 메모리 및 CPU 사용량도 상대적으로 높습니다
이 데이터 배치에서 중복된 부분을 찾는 더 좋은 방법이 있는지, 아니면 스크립트를 최적화하는 방법이 있는지 묻고 싶습니다