I have a rather large table with 150,000 + records. It has a lot of fields like country_id, region_id, city_id, latitude, longitude, postal_code, to name just a few.
我需要根据纬度和长度从这个桌上挑选,别无选择。 我要问:
SELECT * FROM `mytable`
WHERE `latitude` = $latitude
AND `longitude` = $longitude ;
现在,尽管我从这个桌子中挑选的唯一标准是自由度/长度,但我很想知道,如果增加更多的具体性,那么就象:
SELECT * FROM `mytable`
WHERE `city_id` = 320
AND `latitude` = $latitude
AND `longitude` = $longitude ;
对我来说,增加询问条件会加快速度,但与此同时,我通过首先确保所选择的所有记录都来自我知道居住在纬度和长度地带的特定城市,从而缩小了可能取得的成果。
记录总数可能大约为150k,但只有约10k来自该特定城市。
因此,这完全是明智的,还是我只是让问题更加费时?