Birden seçer vs MySQL saklı yordam

2 Cevap php

İşte benim senaryo:

Ben (en diyelim) düğümler bir tablo var. Her biri birincil anahtar sadece "node_id" dir.

Parent_node_id ve child_node_id: ben sadece iki sütunlu, düğümleri bir hiyerarşi sürdürmek bir tablo var.

N ilişki: düğümleri bir N olabilir çünkü hiyerarşi ayrı bir tabloda tutulur. Yani, demek bir düğüm birden fazla çocuk sahibi olabilir, ve birden babam.

Ben bir düğüm ile başlar ve onun atalarının tüm (hiyerarşisini yani herşeyin daha yüksek) almak istiyorsanız, ben birkaç seçer yapmak, ya da bir saklı yordam içinde tüm yapabileceğini ya.

Bu soru ile herhangi bir pratik deneyimi olan herkes en iyi performansı olması muhtemeldir hangisi biliyor? Ben her iki yönde öneririz çevrimiçi şeyler okudum.

2 Cevap

"Hangisinin iyi performansı olması olasılığı nedir?": Hiç kimse bilemez! Yapabileceğiniz tek şey, hem ÖLÇÜMLÜYORUZ deneyin. Yani açıkça O algoritmaları arasında (n) fark var durumlar hariç ... ne yazık ki yeterince tüm performans ile ilgili soruların ana cevabı.

Ve, bu arada, "birden çok ebeveyn" bir hiyerarşi yapmaz (aksi takdirde ben Joe Celko bazı kitapları okumanızı tavsiye ederim) ama bir DAG (Doğrudan Mercury Graph) çok zor bir canavar evcilleştirmek için ...

Performansı endişe ise, o şema tasarım başkalarının geldiğince sizin için de işe gitmiyor.

More Trees & Hierarchies in SQL daha fazla bilgi için bkz.