Tôi có thư viện ảnh. Tôi muốn thêm nút "Thêm vào mục yêu thích" - để người dùng có thể thêm người dùng khác vào mục yêu thích của họ. Và sau đó tôi muốn mỗi người dùng có thể xem danh sách người dùng yêu thích của mình, cũng như để có thể xem ai (danh sách người dùng) đã thêm người dùng này vào mục yêu thích.cách tốt nhất để lưu trữ "mục yêu thích" của người dùng trong MySQL
tôi tìm thấy hai cách khác nhau, và là người đầu tiên là:
faver_id faved_id
1 10
1 31
1 24
10 1
10 24
Tôi không thích phương pháp này vì 1) một lô lặp lại 2) bảng rất lớn trong tương lai (nếu có ít nhất 1.001 người dùng và mỗi người thích 1.000 người dùng khác = 1 001 000 bản ghi) mà tôi cho là sẽ làm chậm cơ sở của tôi.
Cách thứ hai là:
user_id favs
1 1 23 34 56 87 23
10 45 32 67 54 34 88 101
tôi có thể đưa những favs và phát nổ() chúng trong php hoặc tìm kiếm nếu người dùng thích một số người dùng khác bằng cách MySQL truy vấn select count(user_id) from users where favs LIKE '% 23 %' and user_id=10;
Nhưng tôi cảm thấy cách thứ hai không phải là rất "đúng" trong các điều khoản của MySQL.
Bạn có thể tư vấn cho tôi điều gì đó không?
Rất cám ơn vì lời giải thích rõ ràng như vậy. Có, tôi quên rằng tôi có thể thêm chỉ mục bảng trong trường hợp đầu tiên và nó sẽ giải quyết vấn đề với hàng ngàn hồ sơ. – oyatek
@oyatek: Không sao cả. Tôi rất vui được giúp đỡ. – AgentConundrum