DROP TABLE IF EXISTS t1; CREATE TABLE t1 ( fid INT NOT NULL AUTO_INCREMENT PRIMARY KEY, g GEOMETRY NOT NULL, SPATIAL KEY(g) ) ENGINE=MyISAM; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `fid` int(11) NOT NULL AUTO_INCREMENT, `g` geometry NOT NULL, PRIMARY KEY (`fid`), SPATIAL KEY `g` (`g`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci SELECT count(*) FROM t1; count(*) 150 EXPLAIN SELECT fid, AsText(g) FROM t1 WHERE ST_Within(g, GeomFromText('Polygon((140 140,160 140,160 160,140 140))')); id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 range g g 34 NULL 8 Using where SELECT fid, AsText(g) FROM t1 WHERE ST_Within(g, GeomFromText('Polygon((140 140,160 140,160 160,140 160,140 140))')); fid AsText(g) 1 LINESTRING(150 150,150 150) 3 LINESTRING(148 148,152 152) 4 LINESTRING(147 147,153 153) 5 LINESTRING(146 146,154 154) 6 LINESTRING(145 145,155 155) 7 LINESTRING(144 144,156 156) 8 LINESTRING(143 143,157 157) 9 LINESTRING(142 142,158 158) 10 LINESTRING(141 141,159 159) 11 LINESTRING(140 140,160 160) 2 LINESTRING(149 149,151 151) DROP TABLE t1; CREATE TABLE t1 ( fid INT NOT NULL AUTO_INCREMENT PRIMARY KEY, g GEOMETRY NOT NULL ) ENGINE=MyISAM; ALTER TABLE t1 ADD SPATIAL KEY(g); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `fid` int(11) NOT NULL AUTO_INCREMENT, `g` geometry NOT NULL, PRIMARY KEY (`fid`), SPATIAL KEY `g` (`g`) ) ENGINE=MyISAM AUTO_INCREMENT=101 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci SELECT count(*) FROM t1; count(*) 100 EXPLAIN SELECT fid, AsText(g) FROM t1 WHERE ST_Within(g, GeomFromText('Polygon((40 40,60 40,60 60,40 40))')); id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 range g g 34 NULL 4 Using where SELECT fid, AsText(g) FROM t1 WHERE ST_Within(g, GeomFromText('Polygon((40 40,60 40,60 60,40 40))')); fid AsText(g) 46 LINESTRING(51 41,60 50) 56 LINESTRING(41 41,50 50) 45 LINESTRING(51 51,60 60) DROP TABLE t1; End of 5.5 tests. CREATE TABLE t1 ( coordinate point NOT NULL, SPATIAL KEY coordinate (coordinate) ) ENGINE=Aria DEFAULT CHARSET=ascii PAGE_CHECKSUM=1; SHOW COLUMNS FROM t1; Field Type Null Key Default Extra coordinate point NO MUL NULL INSERT INTO t1 (coordinate) VALUES(ST_PointFromText("POINT(0 0)")); INSERT INTO t1 (coordinate) VALUES(ST_PointFromText("POINT(10 0)")); INSERT INTO t1 (coordinate) VALUES(ST_PointFromText("POINT(10 10)")); INSERT INTO t1 (coordinate) VALUES(ST_PointFromText("POINT(0 10)")); INSERT INTO t1 (coordinate) VALUES(ST_PointFromText("POINT(5 5)")); SELECT astext(coordinate) FROM t1 WHERE ST_Intersects(ST_LineFromText("LINESTRING(0 0, 10 0, 10 10, 0 10)"), coordinate); astext(coordinate) POINT(0 0) POINT(10 0) POINT(10 10) POINT(0 10) SHOW COLUMNS FROM t1; Field Type Null Key Default Extra coordinate point NO MUL NULL DROP TABLE t1;