MySQL のツリー構造を任意の深さまでクエリする
データベース内のツリー構造をナビゲートすると、さまざまなレベルでデータを取得するときに問題が発生する可能性があります。 MySQL で単一のクエリを使用してこれを実行できるかどうか疑問に思う人は多いでしょう。
修正されたプリオーダー ツリー トラバーサル
重要なのは、概要を示したように、修正されたプリオーダー ツリー トラバーサルを採用することにあります。 Joe Celko による独創的な著書『Trees and Hierarchies in SQL for Smarties』。このアプローチには、ネストされたセット モデルの構築が含まれます。これにより、階層の深さに関係なく、特定のノードのすべての子孫または祖先を効率的に取得できます。
PHP 実装
PHP でのこの走査の実装例は、次の場所にあります。 http://www.sitepoint.com/article/hierarchical-data-database/2/。このスクリプトは、単一のクエリで指定されたノードのすべての子孫をキャプチャして、ツリー構造のテーブルをクエリする方法を示しています。
要約すると、MySQL は本質的にツリー構造を任意の深さまでクエリするためのソリューションを提供しませんが、修正された Preorder Tree Traversal 手法により、ネストされたセットと単一のクエリを使用して、すべての子孫または祖先を効率的に取得できます。
以上がMySQL は単一のクエリでツリー構造を任意の深さまでクエリできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。