1000 ảnh thì đâu có nhiều anh nhỉ, anh đánh số 1-1000 , với mỗi id người dùng tạo thêm cột ảnh đã nhận , rồi mình cứ random nhé, sau khi gởi ảnh thì lưu id ảnh đó vào cột , sau này random thì check nếu id trùng thì random lại, tất nhiên khi mà người dùng nhận 999 ảnh rồi thì việc random sẽ khó mà đáp ứng đc nên em nghĩ nên lấy value trong cột trước rồi khi random viết lại hàm random loại trừ những value đó ra thì sẽ giải quyết được
Làm cách này tức là mỗi người dùng sẽ có hàm random khác nhau tuỳ thuộc vào value cột lưu ì ảnh đã nhận, sau này update lên 10000 ảnh cũng dễ dàng miễn sao ảnh ko trùng id
Giả sử có vài chục nghìn người dùng hoặc hơn, khi đó DB sẽ ngày càng to vì phải ghi lại lịch sử nhận ảnh của tất cả để tránh trùng. Trên thực tế, 2 người dùng chẳng bao giờ gặp nhau và chẳng ai đi so xem ảnh gái tôi nhận được có giống ảnh gái của anh không. Vì vậy, thay vì random ảnh theo người dùng, nên tạo ra khoảng 1000 profile và khi người dùng đăng ký , assign cho 1 profile cố định. Nghĩa là cứ 1001 người thì có 2 người sẽ nhận ảnh giống nhau nhưng họ cũng không biết. Khi đó, chỉ cần random ảnh trong profile thôi. Mà có thể không cần random hết mà cứ theo từng batch 100 ảnh thì random rồi thêm vào. Như vậy, khi thêm ảnh, xử lý thêm cũng nhanh.