Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Mysql:Optimierung der Suche nach Superknoten im verschachtelten Satzbaum

Um verschachtelte Set-Abfragen in MySQL zu optimieren , sollten Sie einen SPATIAL erstellen (R-Tree ) Index auf den Setboxen:

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;

Weitere Einzelheiten finden Sie in diesem Artikel in meinem Blog: