SPATIAL
Spiegazione
MariaDB consente di creare indici spaziali utilizzando una sintassi simile a quella usata per creare indici regolari, ma estesa con la parola chiave SPATIAL
. Attualmente le colonne negli indici spaziali devono essere dichiarate come NOT NULL
.
Gli indici spaziali possono essere definiti alla creazione della tabella o aggiunti successivamente, in questo modo:
- Con
CREATE TABLE
:CREATE TABLE geom (g GEOMETRY NOT NULL, SPATIAL INDEX(g));
- Con
ALTER TABLE
:ALTER TABLE geom ADD SPATIAL INDEX(g);
- Con
CREATE INDEX
:CREATE SPATIAL INDEX sp_index ON geom (g);
SPATIAL INDEX
crea un indice R-Tree
. Negli Storage Engine che supportano l'indicizzazione non spaziale delle colonne geometriche, viene creato un indice B-Tree
. Un indice B-Tree
sui valori spaziali è utile per le ricerche di valori esatti, ma non le la ricerca di un intervallo di valori.
Per maggiori informazioni su come indicizzare le colonne geometriche, si veda CREATE INDEX.
Per eliminare gli indici spaziali, si può usare ALTER TABLE o DROP INDEX:
- Con ALTER TABLE:
ALTER TABLE geom DROP INDEX g;
- Con DROP INDEX:
DROP INDEX sp_index ON geom;