2

入れ子集合モデルには、LEFT列とRight列があります

初めてテーブルが空になったとき、何人の子供がいるのかわからない場合は、右の列に何を挿入する必要がありますか

左1-永遠に

右 ?-ここにはどのような価値がありますか?

それを動的にする方法は?静的ではありません。

ps:phpを使用する

4

1 に答える 1

7

あなたのタグとタイトルから、MySQLで動作するソリューションを探していると思います。

rightはい、要素の数が事前にわかっていない限り、値を動的に計算する必要があることは正しいです。使用できるアプローチは 2 つあります。

  • 機能する最小の値 (この場合は 2) から始めて、後で必要に応じて値を増やすことができます。
  • 10000000 のように推測して、それで十分であることを期待することもできますが、十分ではなく、後で再度調整する必要がある可能性に備えておく必要があります。

どちらの場合も、新しい行を挿入するときに複数の行のleftとのright値を調整する必要があることを実装する必要がありますが、2 番目のケースでは、推測が間違っていた場合にのみ実際に更新を実行する必要があります。したがって、2 番目のソリューションはより複雑ですが、パフォーマンスが向上します。

階層データを格納する 4 つの一般的な方法のうち、ネストされたセットのアプローチは、挿入と更新を実行するのが最も難しいことに注意してください。Bill Karwin のModels for Heirarchical Dataのスライド 69 を参照してください。

ネストされたセットの更新の難しさ

于 2012-07-07T07:19:34.370 に答える