MySQL 9.3 Reference Manual Including MySQL NDB Cluster 9.3
For MyISAM
and
InnoDB
tables, search operations in columns
containing spatial data can be optimized using
SPATIAL
indexes. The most typical operations
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 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
POINT
columns.
MyISAM
and InnoDB
support
both SPATIAL
and
non-SPATIAL
indexes. Other storage engines
support non-SPATIAL
indexes, as described in
Section 15.1.16, “CREATE INDEX Statement”.