概要 mysqlで位置を表すレコードを検索する場合は、Spatial Data TypesのPOINT型を使うのが良いです。 その説明をします。 なぜSpatial Data Typesを使う必要があるのか 例えばこんなテーブルがあったとするじゃないですか CREATE TABLE `location_lat_lng` ( `id` int(11) NOT NULL AUTO_INCREMENT, `lat` double NOT NULL, `lng` double NOT NULL, PRIMARY KEY (`id`), KEY `lat` (`lat`,`lng`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8