Eu gostaria de armazenar algumas posições geométricas no meu banco de dados MySQL. Para isso eu uso o tipo de dados POINT. Em quase todos os lugares li que a função GeomFromText
deve ser usada para inserir dados na tabela.
No entanto, descobri que POINT(X,Y)
também funciona. Não encontrei nenhuma descrição por que GeomFromText
deveria ser usado em vez de POINT
.
Por exemplo, tenho a seguinte relação simples:
CREATE TABLE Site (
SiteID BIGINT UNSIGNED,
Position POINT
);
E posso inserir valores usando as duas variantes a seguir:
INSERT INTO Site (
1,
GeomFromText( 'POINT(48.19976 16.45572)' )
);
INSERT INTO Site (
2,
POINT(48.19976, 16.45572)
);
Quando visualizo a tabela ( SELECT * FROM Site
) vejo o mesmo blob binário para o local e quando vejo as coordenadas ( SELECT *, AsText(Position) FROM Site
) também vejo os mesmos valores.
Então, por que GeomFromText deve ser usado? Existem diferenças de desempenho (conhecidas) entre essas duas variantes? Como isso é resolvido em outros sistemas de banco de dados além do MySQL?