Saya ingin menyimpan beberapa posisi geometris di basis data MySQL saya. Untuk ini saya menggunakan tipe data TITIK. Hampir di mana-mana saya membaca bahwa fungsi tersebut GeomFromText
harus digunakan untuk memasukkan data dalam tabel.
Namun, saya menemukan bahwa itu POINT(X,Y)
juga berhasil. Saya tidak menemukan deskripsi mengapa GeomFromText
harus digunakan POINT
.
Misalnya saya memiliki hubungan sederhana berikut:
CREATE TABLE Site (
SiteID BIGINT UNSIGNED,
Position POINT
);
Dan saya bisa memasukkan nilai menggunakan dua varian berikut:
INSERT INTO Site (
1,
GeomFromText( 'POINT(48.19976 16.45572)' )
);
INSERT INTO Site (
2,
POINT(48.19976, 16.45572)
);
Ketika saya melihat tabel ( SELECT * FROM Site
) saya melihat gumpalan biner yang sama untuk lokasi, dan ketika saya melihat koordinat ( SELECT *, AsText(Position) FROM Site
) saya juga melihat nilai yang sama.
Jadi mengapa GeomFromText harus digunakan? Apakah ada (diketahui) perbedaan kinerja antara kedua varian ini? Bagaimana ini diselesaikan di sistem basis data selain MySQL?
INSERT INTO Site (Position) SELECT POINT(latitude, longitude) FROM tmp
lebih sederhana dari...SELECT GeomFromText(CONCAT('POINT(',latitude,' ',longitude,')' )) ...