我有一个 exe,它返回一个包含 16 个元素的数组。我必须使用 php 将此数组传递给 Mysql 来计算欧几里德距离。我在 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 个图像,img_id 最多为 30,000。我必须从通过 php 传递的 exe 中计算数组的欧几里德距离,并返回欧几里德距离最小的 6 个图像的 img_id。即假设我有一个来自 exe A[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。什么是计算它的有效和快速的方法?