MySQL :: MySQL 5.7 Reference Manual :: 11.4.8 Optimizing Spatial Analysis (original) (raw)

11.4.8 Optimizing Spatial Analysis

For MyISAM andInnoDB tables, search operations in columns containing spatial data can be optimized usingSPATIAL indexes. The most typical operations are:

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 forPOINT columns.

MyISAM and InnoDB support both SPATIAL and non-SPATIAL indexes. Other storage engines support non-SPATIAL indexes, as described inSection 13.1.14, “CREATE INDEX Statement”.