邮政编码之间的慢距离搜索

时间:2014-01-23 19:28:31

标签: php mysql latitude-longitude

我原来的问题在这里:Slow location search

我已经在代码上花了相当多的时间来更好地理解代码应该/应该做什么。代码:

SELECT (fieldnames),  
( 3959 * acos( cos( radians( $lat ) ) * cos( radians( `lat` ) ) * cos( radians( `lng` ) - radians( $lng ) ) + sin( radians( $lat ) ) * sin( radians( `lat` ) ) ) )  AS distance
FROM details
inner JOIN postcodes ON details.postcode = postcodes.outcode AND payment='y' AND expired='n' HAVING " . implode(" AND ", $searches)."  ORDER BY details.asking_price

邮政编码是从计算长和纬度的用户输入中获取的,并检查邮政编码表中的距离(邮编,长,纬)。

Implode正在检查是否有任何其他变量需要添加到搜索中。

我已经阅读了很多不同的帖子,但我找不到任何告诉我为什么我的搜索需要花费10秒钟才能完成。

这与计算距离的方式有关,就好像我没有距离搜索一样,所花费的时间不是问题。

大约需要7/8秒才能完成搜索,距其他帖子大约需要15秒。我已经考虑过将结果数量限制在该页面上显示的内容上(20)。

0 个答案:

没有答案