创建表,加入记录
CREATE TABLE geom (g GEOMETRY NOT NULL, SPATIAL INDEX(g));
insert into geom values(ST_GeomFromText('POINT(47.65100 -122.34900)',4326) );
update db01.geom set g= ST_GeomFromText('POINT(30.571292638779 110.88867165148)',4326) ;
增加字段的srid限定。
ALTER TABLE geom DROP INDEX index_g;
ALTER TABLE geom MODIFY g GEOMETRY NOT NULL SRID 4326;
ALTER TABLE geom ADD SPATIAL INDEX (g);
执行查询
explain
SELECT g FROM db01.geom
WHERE ST_Intersects(g,st_GeomFromText('POLYGON((35.493167638779 104.56054665148 , 34.438480138779 116.86523415148 , 24.946292638779 117.21679665148 , 26.000980138779 107.02148415148 , 35.493167638779 104.56054665148 ))',4326))-- MBRContains ST_Intersects
1 | SIMPLE | geom | range | g | g | 34 | 1 | 100.00 | Using where |