Mysql
 sql >> Database >  >> RDS >> Mysql

Mysql:ottimizzazione della ricerca di super nodi nell'albero degli insiemi nidificati

Per ottimizzare le query sui set nidificati in MySQL , dovresti creare un SPATIAL (R-Tree ) indice sui set box:

ALTER TABLE projects ADD sets LINESTRING;

UPDATE  projects
SET     sets = LineString(Point(-1, lft), Point(1, rgt));

ALTER TABLE projects MODIFY sets LINESTRING NOT NULL;

CREATE SPATIAL INDEX sx_projects_sets ON projects (sets);

SELECT  hp.*
FROM    projects hp
WHERE   MBRWithin(Point(0, 4), hp.sets)
ORDER BY
        lft;

Vedi questo articolo nel mio blog per maggiori dettagli: