Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL - Metode terbaik untuk menangani data hierarkis ini?

Quassnoi telah menjalankan beberapa tes kinerja pada model kumpulan bersarang dan model daftar adjacency dan mendokumentasikan hasil dan rekomendasi dalam posting blognya Daftar ketetanggaan vs. kumpulan bersarang:MySQL . Ringkasan eksekutifnya adalah:

  • Set bersarang lebih cepat untuk mengambil semua node anak atau semua node induk.
  • Set bersarang adalah ide yang buruk jika Anda sering perlu memperbarui tabel.

Berikut kesimpulan dari artikelnya:

Artikel selanjutnya menunjukkan cara mendefinisikan tabel, menerapkan kueri, dan memberikan pengukuran kinerja. Penggunaan indeks spasial adalah ide yang cerdas untuk meningkatkan kinerja model kumpulan bersarang yang mungkin baru bagi Anda.

Jika Anda juga mempertimbangkan pendekatan tanpa MySQL maka Anda mungkin ingin melihat PostgreSQL yang merupakan basis data sumber terbuka dan gratis lainnya. PostgreSQL mendukung kueri rekursif dalam bentuk ekspresi tabel umum rekursif yang membuat kueri data hierarkis lebih mudah daripada di MySQL dan juga memberikan kinerja yang lebih baik. Quassnoi juga telah menulis artikel Daftar kedekatan vs. kumpulan bersarang:PostgreSQL yang menunjukkan detailnya.

Sementara kita berbicara tentang melihat pendekatan lain, database Oracle juga layak disebutkan. Oracle juga memiliki ekstensi khusus CONNECT BY yang membuat kueri data hierarkis sangat mudah dan cepat. Artikel Quassnoi Daftar kedekatan vs. kumpulan bersarang:Oracle lagi mencakup detail kinerja. Kueri yang Anda perlukan untuk mendapatkan semua anak sangat sederhana dalam hal ini:

SELECT *
FROM yourtable
START WITH id = 42
CONNECT BY parent = PRIOR id


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Host lokal mysql !=127.0.0.1?

  2. Bagaimana cara membuat hasil kueri MYSQL ORDER BY kondisi pesanan?

  3. Cara memperbarui database mysql tanpa memuat ulang halaman

  4. Cara Memverifikasi Cadangan MySQL Anda dengan ClusterControl

  5. Bagaimana cara menghindari tanda kutip tunggal di MySQL