Съхранявайте го като тип данни за геометрията . MySQL поддържа Geometry (generic), както и типове данни Point, Linestring и Polygon, вижте създаване на типове пространствени данни . Една стойност за дължина или ширина не може да бъде геометрия сама по себе си, тъй като я имате на екранната си снимка.
Ако тръгнете по пътя на използване на типове геометрия, това ви дава две предимства пред наличието на отделни полета за географска ширина и дължина:можете да добавите пространствен индекс и ще можете да използвате някои от пространствените на MySQL функции на оператор като ST_Buffer, ST_Intersects, ST_Distance за извършване на допълнителен анализ. Пространствените индекси се основават на R-дървета и ще се представят много по-добре от два индекса на B-дървото върху непространствени колони, географска ширина и дължина – и тази разлика в производителността ще нараства с нарастването на размера на вашата таблица.
Все още можете да получите обратно стойностите за географска ширина и дължина, като използвате Функции за точки X и Y така че няма да загубите нищо, като съхранявате данните си като точка.
Ако вече имате данните си в две отделни колони за ширина/дължина и искате да преминете по маршрута на геометрията/точковия тип данни, можете да използвате функцията Point, за да създадете типа данни за точка:
alter table mytable add column pt POINT;
update mytable set pt=Point(longitude, latitude);
alter table mytable modify pt POINT NOT NULL;
create spatial index ix_spatial_mytable_pt ON mytable(pt);
Имайте предвид, че функцията Point беше въведена само в MySQL 5.1.x (не е твърде добре документирана, така че не съм сигурен в точната версия), а преди това трябваше да използвате concat с функцията GeomFromText, вижте Преместване на текстови колони lat/long в колона от тип „точка“ за малко повече информация относно това, въпреки че имайте предвид, че отговорът на Quassnoi има lon и lat погрешно -- това е Point(lon, lat), а не обратното, въпреки че това е много често срещана грешка.
ЗАБЕЛЕЖКА: Доскоро можехте да индексирате пространствена колона само ако използвате механизма MyISAM.
РЕДАКТИРАНЕ: В предстоящата версия MySQL 5.7 .5 , InnoDB най-накрая ще поддържа индекси за типове пространствени данни (а не само ще съхранява пространствени типове без индекс, което е значително по-малко полезно). Това означава, че можете да имате външни ключове, ACID гаранции, пространствени индекси, всичко това в един двигател, което предстои дълго време.