diekstrak struktur pokok dari jam tangan rata
Jadual penutupan secara eksplisit menyimpan setiap hubungan nenek moyang. Ini membolehkan penggunaan SQL untuk menanyakan keturunan atau nenek moyang dengan cekap.
Contoh:
<.> 2. Embedding Set:
Set bersarang adalah untuk memperuntukkan julat integer untuk setiap nod di dalam pokok. Selang skop mentakrifkan lokasi nod dalam struktur paras pokok.
Contoh:<code class="language-sql">CREATE TABLE ClosureTable ( ancestor_id INT REFERENCES MyTable(id), descendant_id INT REFERENCES MyTable(id), PRIMARY KEY (ancestor_id, descendant_id) );</code>
<:> Jadual:
Struktur Pokok:
<.> 3. Jadual Pentadbiran:
Jadual bersebelahan menunjukkan pokok sebagai jadual dua: id dan parent_id. Setiap baris mewakili nod, dan lajur parent_id menunjuk ke nod induknya.
<code class="language-sql">CREATE TABLE NestedSets ( id INT PRIMARY KEY, left_value INT, right_value INT );</code>
Pilihan teknologi pengoptimuman penyimpanan pokok bergantung kepada faktor -faktor seperti saiz data, mod pertanyaan dan keperluan prestasi pangkalan data.
<code> |-----| [0, 9] |-----| | | | | |-----| |-----| |-----| | [0, 2] | | [4, 6] | | [8, 9] | | | | | | | |-----| |-----| |-----| |-----| | [0, 1] | | [2, 3] | | [4, 5] | | [6, 7] | | | | | | | | | | [0, 0] | | [2, 2] | | [4, 4] | | [6, 6] |</code>
Masalah tambahan: Ya, gunakan teknologi yang diterangkan di atas (jadual penutup, bersarang, meja bersebelahan), terdapat kaedah asas yang lebih baik untuk menyimpan struktur pokok di RDBMS.
Atas ialah kandungan terperinci Bagaimana untuk Membina Hierarki Pokok dengan Cekap daripada Meja Rata dan Mengoptimumkan Penyimpanannya dalam RDBMS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!