8
나는 'template_phash'컬럼을 가진 테이블 A를 가지고있다. 400K 이미지에서 생성 된 phash를 저장합니다.두 개의 phash 사이의 mysql 해밍 거리
이제 임의의 이미지를 가져 와서 그 이미지에서 phash를 생성합니다.
지금 어떻게 내가 해밍 거리의 차이가 임계 값보다 작은 테이블 A에서 레코드를 얻을 수 있도록, 쿼리 내가 Hamming distance on binary strings in SQL을 보았다 (20)
말하지만, 그것을 알아낼 수 없습니다.
나는 이것을 달성하기 위해 기능을 만들 필요가 있다고 생각했지만 어떻게해야합니까?
내 phash의 모두에서 BigInt에 예 : 7641692061273169067는
내가 알아 낸
SELECT product_id, HAMMING_DISTANCE(phash1, phash2) as hd
FROM A
WHERE hd < 20 ORDER BY hd ASC;
이와 같은 개념! 이 쿼리를 최적화하여 항목의 thousends의 모든 phash를 완전히 비교할 필요가없고 대신 "가장 가까운"값을 한 번만 비교할 수 있습니까? – Manuel