2010-07-15 23 views
6

Kullanıcı yorumları olan bir tablonuz olduğunu varsayalım. Birinci düzey yorumlar, eklendikleri bir makaleye atıfta bulunur. Daha derin düzeydeki yorumlar bu referansı tasarıma sahip değildir, ancak ana yorumuna bir referansı vardır.Daha fazla görüntüleme için veritabanından bir düğüm ağacı getirmenin en iyi yolu nedir?

Bu veritabanı yapısı için - belirli bir makale için tüm yorumları almanın ve sonra html biçiminde oluşturmanın en etkili yolu ne olurdu? (İlk seviyenin yaklaşık 200 yorum ve en derin 20 seviyesine sahip olduğumuzu varsayalım)

+0

Not: başlığınız "en iyi uygulama" sorusunu sorar, ancak sorunuz "en etkili yol" sorusunu sorar. Bunlar mutlaka aynı değil. –

cevap

9

Genellikle Kapanış Tablosu adlı bir tasarım öneririm. Models for Hierarchical Data with SQL and PHP:

Ben de bu sunum tasarlanmış What is the most efficient/elegant way to parse a flat table into a tree?

cevabım örneğe bakın. Ben, 490k düğümleri ile hiyerarşik verilerin bir koleksiyonundan, 0.3 saniye içinde bir ağaç oluşturan bir PHP uygulaması geliştirdim.

Kapatma Masası hakkında blog yazdım: Rendering Trees with Closure Table.

Kitabımda SQL Antipatterns: Avoiding the Pitfalls of Database Programming hiyerarşik verileri için farklı stratejiler hakkında bir bölüm yazdım.

5

En verimli şekilde Quassnoi bu konuda bir dizi makale yazdı. Hierarchical queries in MySQL: finding leaves

  • Hierarchical queries in MySQL: finding loops
  • İlgili konular