MyISAM tables, Search operations
in nonspatial databases can be optimized using
SPATIAL indexes. This is true for
spatial databases as well. With the help of a great variety of multi-dimensional indexing methods that have
previously been designed, it is possible to optimize spatial searches. The most typical of these are:
Point queries that search for all objects that contain a given point
Region queries that search for all objects that overlap a given region
MySQL uses R-Trees with quadratic splitting for
SPATIAL indexes on spatial columns. A
SPATIAL index is
built using the MBR of a geometry. For most geometries, the MBR is a minimum rectangle that surrounds the
geometries. For a horizontal or a vertical linestring, the MBR is a rectangle degenerated into the linestring.
For a point, the MBR is a rectangle degenerated into the point.
It is also possible to create normal indexes on spatial columns. In a non-
index, you must declare a prefix for any spatial column except for
MyISAM supports both
SPATIAL and non-
SPATIAL indexes. Other storage engines support non-
SPATIAL indexes, as described in Section
CREATE INDEX Syntax".