Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

lưu trữ phân cấp mysql với cây lớn

Thiết kế Bộ lồng nhau chắc chắn là khó khi bạn cần cập nhật thường xuyên cho cây. Bạn sẽ phải đánh số lại các bộ phận lớn của cây.

Một gợi ý để giảm thiểu điều này là sử dụng số dấu phẩy động thay vì số nguyên. Nếu bạn chèn một nút mới trong cây, tương đối dễ dàng tìm thấy một số số FLOAT ở giữa các số tập hợp lồng nhau của nút cha của nút mới. Cuối cùng bạn có thể đạt đến giới hạn về độ chính xác của một số dấu phẩy động, nhưng vì cây của bạn không sâu nên sẽ không xảy ra trong một thời gian dài.

Một kỹ thuật khác mà tôi đã viết về tôi gọi là Bảng đóng cửa . Phương pháp lưu trữ phân cấp này giúp việc chèn / cập nhật / xóa các nút trong một cây lớn dễ dàng hơn nhiều mà không cần cập nhật nhiều cây của bạn. Và bạn vẫn có thể truy vấn toàn bộ cây hoặc bất kỳ cây con nào trong một truy vấn SQL không đệ quy.

Để đọc thêm về Bảng đóng cửa, hãy xem:

Nhận xét lại của bạn:

Danh sách Liền kề rất đơn giản, có tối thiểu dư thừa và nó hỗ trợ các mối quan hệ FK, điều mà các Tập hợp lồng nhau thì không. Danh sách kề cận hỗ trợ truy vấn toàn bộ cây có độ sâu tùy ý nếu bạn sử dụng truy vấn đệ quy . Nhưng MySQL không hỗ trợ truy vấn đệ quy.

Nếu bạn chỉ cần truy vấn các mối quan hệ cha-con ngay lập tức (tức là một mức độ sâu) hoặc chỉ truy vấn các cây có độ sâu cố định, thì Danh sách gần kề là được.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cài đặt MYSQL với ứng dụng .NET winforms

  2. Cách hoạt động của hàm REGEXP_LIKE () trong MySQL

  3. 10 mẹo hữu ích về điều chỉnh hiệu suất MySQL

  4. Cột số lượng cao hơn đầu tiên trong một chỉ mục khi liên quan đến một phạm vi?

  5. Xuất bảng từ Amazon RDS thành tệp CSV