Tôi đang triển khai cây MLM cho trang web sử dụng PHP (CodeIgniter) và MySQL. Tôi cần một cây nhị phân thực hiện trong cơ sở dữ liệu. Những điều sau đây cần được xem xét:Cây nhị phân Sử dụng PHP + MySQL
Đối với mỗi nút, Số lượng tối thiểu số lượng trẻ em/nút trong nhánh trái và số con/nút phải được gọi là một cặp. Đối với mỗi cặp, một nút sẽ được lưu trữ trong cơ sở dữ liệu (các nút đại diện cho người dùng)
Khi một nút mới được tạo ra (ở bất kỳ đâu), có thể tăng nhiều cặp nút. Vì vậy, bất cứ khi nào một nút được tạo, mỗi điểm nút sẽ được cập nhật (được tăng lên một khi có thể áp dụng).
Tôi cũng cần phải xây dựng (hiển thị trong trang web) cây. Chỉ có 4-5 cấp độ được hiển thị.
Cơ sở dữ liệu có thể có 100000 nút
Tôi đã tìm thấy chủ yếu là 4 mô hình cho implemmenting dữ liệu hieararchical trong MySQL, PHP
- danh sách kề
- Đường dẫn liệt kê
- Bộ lồng nhau
- Bảng đóng cửa
Vì vậy, tôi muốn tìm giải pháp sẽ giảm chi phí đầu vào và cập nhật thành công điểm cho tất cả các nút được áp dụng.
Tôi đã thử giải pháp Danh sách kề.
node (id, parentid, leftChildId,rightChildId,leftCount,rightCount)
userStat(id,sdate,pairs,mlmIncome)
mỗi lần một nút được chèn, tôi đi lên và giữ incrementing con đếm .Nếu cặp mới được thực hiện sau đó tôi tăng mà còn và tăng điểm .. Tôi đang làm những thủ tục lưu trữ.
Lý do tại sao tôi chọn giải pháp này trên Tập hợp lồng nhau là: cho mỗi nút được chèn, số lượng nút được cập nhật cho Tập hợp lồng nhau Luôn luôn nhiều hơn danh sách kề.
Mặc dù tỷ lệ xây dựng cây không nhiều hơn chèn. Và bộ lồng nhau tốt hơn trong việc xây dựng cây ..
Tôi đang đi đúng hướng chưa ?? Hãy giúp tôi !
Thnx trước!
không thể hiểu tại sao điều này đã được downvoted, dường như câu hỏi hoàn toàn hợp lý! +1 – dmp
thnx danp, bạn có thể giúp tôi giải pháp được không? –
Tôi đang ở giữa triển khai phân cấp Bảng đóng cửa trong trình mã hóa, có hữu ích khi xem mã này không? – dmp