MySql / PHPのツリー。

こんにちはHabr。 最近、木などの構造の使用を必要とするタスクに出会いました。 しかし、テーブル全体から1つのグローバルツリーが構築されるのではなく、いくつかの小さなツリーが構築されます。 さらに、ページを生成するときに、特定の要素に対応するツリーを取得する必要がありました。



それでは、ビジネスに取り掛かりましょう。

ツリーを構築するために毎回再帰クエリを実行すると、非常にリソースを消費します。



私はこれを行いました:要素を作成するとき、PHPで実装されたツリーにそれらを追加し、ツリークラスインスタンスを別のテーブルにシリアル化します。

要素を含むテーブルに、目的のツリーの番号を持つ列を追加します。 そして、必要に応じて、そのテーブルからツリーをロードするだけです。 新しい要素を追加するときは、ツリーを逆シリアル化し、変更して、シリアル化して戻します。



私は興味があります-このアプローチの欠点は何ですか?




All Articles