1

HTMLで完全な二分木を出力する必要があるCIプロジェクトを開発しています。ツリーの各ノードは、テーブルのレコードに関連しています。テーブルには現在1,000万行以上あり、少なくとも9の深さのツリーを出力する必要があるため、最適に構築されていないと、処理がすぐに遅くなる可能性があります。

CIのMVCパラダイムを使用して、このデータを整理するための最良の方法は何ですか?このような大きなテーブルでは、データベースに何度もアクセスする必要はありません。このようなツリーを構築すると、非常に迅速にコストがかかる可能性があります(#cells = 2 ^(depth + 1)-1)。

これまで、リクエストを処理するコントローラー(簡単な部分)と、DBを再帰的にヒットして各ノードのオブジェクトを作成することにより、ツリー構造を処理/構築するライブラリを構築しました。私は残りを整理する方法にちょっと立ち往生しています。ビュー/ヘルパー内からツリートラバーサルとHTML出力を処理する必要がありますか?そうすると、ビューには、人々が避けようとしているロジックがたくさんあります。同様に、ライブラリ内からHTMLを出力することは見下されていることは知っていますが、この構造を考えると、そこからのすべての再帰/出力を処理することは論理的であるように思われます。

どんなアドバイスも非常に役に立ちます、そして事前に感謝します!

4

0 に答える 0