小编Com*_*Vie的帖子

POINT(X,Y) 和 GeomFromText("POINT(XY)") 有什么区别?

我想在我的 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 之外的其他数据库系统中解决的?

mysql performance spatial

20
推荐指数
2
解决办法
4万
查看次数

标签 统计

mysql ×1

performance ×1

spatial ×1