R-트리 인덱스를 사용하기 위해서는 MyISAM테이블을 만들어야 한다. 다른 스토리지 엔진의 경우 B-트리 인덱스를 사용하는데, 정확한 값을 찾는 것에는 유용하지만 범위 스캔에는 효율적이지 않다. 공간 데이터의 경우 범위 검색을 많이 하므로 MyISAM 테이블을 만들자.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
CREATE TABLE restaurant (
name VARCHAR(80),
category VARCHAR(20),
latitude FLOAT,
longitude FLOAT,
geom GEOMETRY NOT NULL,
p INT,
SPATIAL INDEX(geom)
) ENGINE=myISAM DEFAULT CHARSET=utf8;
INSERT INTO restaurant VALUES('푸켓쌀국수', '기타', 37.499851, 127.026272, POINT(127.026272, 37.499851),3 );
INSERT INTO restaurant VALUES('메드포갈릭', '이탈리안', 37.497774, 127.026615, POINT(127.026615, 37.497774),4 );
INSERT INTO restaurant VALUES('아리랑', '한식', 37.499587, 127.027098, POINT(127.027098, 37.499587),5 );
INSERT INTO restaurant VALUES('참치공방', '한식', 37.497868, 127.028428, POINT(127.028428, 37.497868),5 );
Mysql Spatial Query
Aurora
Recent Posts
Archive Posts
Tags