sql >> データベース >  >> RDS >> Mysql

Mysql:入れ子集合ツリーでのスーパーノードの検索の最適化

    MySQLでネストされたセットクエリを最適化するには 、SPATIALを作成する必要があります (R-Tree )セットボックスのインデックス:

    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;
    

    詳細については、私のブログのこの記事を参照してください:



    1. 任意のテーブルでIDをインクリメントする際に一連の文字列を追加するにはどうすればよいですか?

    2. どちらの結合構文が優れていますか?

    3. mysqlのトリガーでは各行がどのように機能しますか?

    4. データベースをAmazonVPCに接続する方法