sql >> Databasteknik >  >> RDS >> Mysql

Mysql:Optimerar att hitta supernod i kapslat uppsättningsträd

För att optimera kapslade uppsättningsfrågor i MySQL , bör du skapa en SPATIAL (R-Tree ) index på de inställda rutorna:

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;

Se den här artikeln i min blogg för mer information:



  1. Vad är RDBMS (Databas and Relational Database Management System)

  2. MySQL Preferred Engine – MyISAM eller InnoDB

  3. Hur kan vi skilja LEFT OUTER JOIN vs Left Join

  4. konvertera mysql-resultat till json med korrekta typer