InnoDB tables, search operations in columns
containing spatial data can be optimized using
SPATIAL indexes. The most typical operations
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
SPATIAL indexes on
spatial columns. A
SPATIAL index is built
using the minimum bounding rectangle (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-
SPATIAL index, you must declare a
prefix for any spatial column except for
SPATIAL indexes. Other storage engines
SPATIAL indexes, as described in
Section 15.1.15, “CREATE INDEX Statement”.