나는 16elements.I의 배열을 반환하는 EXE가 MySQL에서 유클리드 distance.My 테이블을 계산하는 PHP를 사용하여 MySQL을 위해이 배열을 통과해야 양식에 있습니다.제곱 유클리드 거리를 계산
id |img_id | features_1|features_2|features_3|features_4|features_5|features_6|features_7|...upto features_16
1 1 0.389 0.4567 0.8981 0.2345
2 2 0.9878 0.4567 0.56122 0.4532
3 3
4 4
......................
각 이미지에는 16 개의 기능이 있으며, 이제는 30,000 개의 이미지가 있으며, 최대 30,000 개의 이미지가 있습니다. 데이터베이스에서 datas와 함께 php를 통과 한 exe로부터 배열의 유클리드 거리를 계산하고 유클리드 거리가 최소 인 6 개의 이미지 중 img_id를 반환해야합니다. 즉, 내가 exe [0.458,0.234,0.4567,0.2398]에서 배열을 가지고 있다고 가정하자.이 배열과 각 img_id의 거리를 계산해야한다. 즉, img_id = 1 일 때 거리는 ((0.458-0.389)^2 + (0.234- 0.4567)^2 + (0.4567-0.8981)^2 + (0.2398-0.2345)^2)이 과정을 모든 30,000 개의 이미지에 대해 반복해야하고 가장 거리가 먼 6 개의 img_id를 반환해야합니다. 그것을 계산하는 효율적이고 빠른 방법은 무엇입니까?
손으로. 너의 테이블이 그걸 위해 준비된 것 같지 않아. 'id'는 auto_increment입니까? 이런 종류의 일을 할 수 있습니다, 당신은 실제로 각 이미지에 대해 하나의 행을 가져야합니다. – Jon
예 id는 자동 증가입니다. 별도의 행이 아닌 별도의 열에 기능을 저장하면 더 쉬울까요? – user1583647
예. 모든 유형의 정확도로 이러한 유형의 계산을 수행하려면 하나의 이미지에 대한 모든 기능을 자체 열로 설정해야합니다. – Jon