为gydF4y2BaInnoDBgydF4y2Ba
而且gydF4y2BaMyISAMgydF4y2Ba
表,MySQL可以使用类似于创建常规索引的语法创建空间索引,但是使用gydF4y2Ba空间gydF4y2Ba
关键字。必须声明空间索引中的列gydF4y2Ba非空gydF4y2Ba
.下面的示例演示如何创建空间索引:gydF4y2Ba
与gydF4y2Ba
创建表gydF4y2Ba
:gydF4y2BaCREATE TABLE geom (g GEOMETRY NOT NULL,空间索引(g));gydF4y2Ba
与gydF4y2Ba
ALTER TABLEgydF4y2Ba
:gydF4y2Ba创建TABLE geom (g GEOMETRY NOT NULL);添加空间索引(g)gydF4y2Ba
与gydF4y2Ba
创建索引gydF4y2Ba
:gydF4y2Ba创建TABLE geom (g GEOMETRY NOT NULL);创建空间索引g ON geom (g);gydF4y2Ba
空间索引gydF4y2Ba
创建一个r树索引。对于支持空间列的非空间索引的存储引擎,引擎会创建一个b树索引。空间值上的b -树索引用于精确值查找,但不适用于范围扫描。gydF4y2Ba
有关索引空间列的详细信息,请参见gydF4y2Ba第13.1.14节,CREATE INDEX语句gydF4y2Ba.gydF4y2Ba
要删除空间索引,请使用gydF4y2BaALTER TABLEgydF4y2Ba
或gydF4y2Ba指数下降gydF4y2Ba
:gydF4y2Ba
与gydF4y2Ba
ALTER TABLEgydF4y2Ba
:gydF4y2Ba删除索引ggydF4y2Ba
与gydF4y2Ba
指数下降gydF4y2Ba
:gydF4y2BaDROP INDEX g ON gem;gydF4y2Ba
例子:假设有一张表gydF4y2Ba几何学gydF4y2Ba
包含存储在列中的32,000多个几何图形gydF4y2BaggydF4y2Ba
类型的gydF4y2Ba几何gydF4y2Ba
.这个表也有一个gydF4y2BaAUTO_INCREMENTgydF4y2Ba
列gydF4y2Ba支撑材gydF4y2Ba
用于存储对象ID值。gydF4y2Ba
mysql>描述geom;+-------+----------+------+-----+---------+----------------+ | 字段默认零关键| | | | |类型多 | +-------+----------+------+-----+---------+----------------+ | 支撑材| int (11) | | PRI零| | auto_increment | | g |几何 | | | | | +-------+----------+------+-----+---------+----------------+ 2行集(0.00秒)从几何学mysql > SELECT COUNT (*);+----------+ | 数 (*) | +----------+ | 32376年 | +----------+ 1行集(0.00秒)gydF4y2Ba
在列上添加空间索引gydF4y2BaggydF4y2Ba
,使用以下语句:gydF4y2Ba
mysql> ALTER TABLE geom ADD space INDEX(g)查询OK, 32376行受影响(4.05秒)记录:32376重复:0警告:0gydF4y2Ba