我想在我的 MySQL 数据库中存储一些几何位置。为此,我使用 POINT 数据类型。我读到的几乎所有地方都GeomFromText应该使用该函数在表中插入数据。
但是,我发现这POINT(X,Y)也有效。我没有找到任何说明为什么GeomFromText应该使用POINT.
例如,我有以下简单的关系:
CREATE TABLE Site (
SiteID BIGINT UNSIGNED,
Position POINT
);
Run Code Online (Sandbox Code Playgroud)
我可以使用以下两种变体插入值:
INSERT INTO Site (
1,
GeomFromText( 'POINT(48.19976 16.45572)' )
);
INSERT INTO Site (
2,
POINT(48.19976, 16.45572)
);
Run Code Online (Sandbox Code Playgroud)
当我查看表 ( SELECT * FROM Site) 时,我会看到该位置的相同二进制 blob,而当我查看坐标 ( SELECT *, AsText(Position) FROM Site) 时,我也会看到相同的值。
那么为什么要使用 GeomFromText 呢?这两种变体之间是否存在任何(已知的)性能差异?这是如何在除 MySQL 之外的其他数据库系统中解决的?