Mysql
 sql >> Base de données >  >> RDS >> Mysql

Mysql :Optimisation de la recherche de super nœuds dans l'arborescence d'ensembles imbriqués

Pour optimiser les requêtes d'ensembles imbriqués dans MySQL , vous devez créer un SPATIAL (R-Tree ) index sur les cases set :

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;

Voir cet article sur mon blog pour plus de détails :