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

再帰的なMySQLクエリ?

    MySQLは再帰クエリをサポートしていません。

    ビル・カーウィンのプレゼンテーション をご覧になることをお勧めします。 ここで、彼は階層データを保存するための4つの異なるモデルを比較し、それらの長所と短所を調べます。

    • 隣接リスト
    • パスの列挙
    • 入れ子集合
    • クロージャーテーブル

    スライド48は、各モデルでの特定のタイプのクエリの相対的な難易度を示しています。あなたの質問から、隣接リスト(現在使用しているモデル)のパフォーマンスが4つのうちで最も低い「クエリサブツリー」に最も関心があるようです。

    または、テーブル内のすべてのデータのようにツリー全体を選択するだけの場合は、単純なクエリSELECT * FROM yourtableを使用できます。 クライアントでツリー構造を再構築します。



    1. OracleのBIN_TO_NUM()関数

    2. innodb_lock_wait_timeoutタイムアウトを増やす

    3. PostgreSQLを使用して過去24時間からレコードを選択する方法

    4. `date`は有効なmysql列名ですか?