Tôi muốn triển khai bộ đếm chế độ xem hướng đến người dùng (tương tự như SO cho lượt xem câu hỏi) theo dõi số lần xem duy nhất cho một trang. Có một vài câu hỏi similar ở đây nhưng không có câu trả lời nào cho câu hỏi của tôi hoàn toàn.Triển khai bộ đếm lượt xem trang duy nhất?
Thiết lập nào tốt nhất cho điều này (về bảng cơ sở dữ liệu, v.v.)? Sẽ tốt hơn nếu thêm cột 'lượt xem' vào bảng 'câu hỏi' và đơn giản là tăng số lượng này lên mỗi lượt xem trang? Và nếu tôi muốn các khung nhìn là duy nhất, tôi đoán tôi có thể có một bảng khác với các địa chỉ IP và câu hỏi của câu hỏi và chỉ tăng cột 'xem' nếu chưa có mục nhập nào với IP hiện tại. Tuy nhiên bảng 'ip-view' này sẽ trở nên thật sự nhanh chóng ... Chủ yếu là tôi quan tâm đến việc phải lưu trữ mọi lượt xem trang và mọi IP trong một bảng.
Làm thế nào điều này có thể được tối ưu hóa để nó không trở thành một nút cổ chai hiệu suất? Có cách tiếp cận nào tốt hơn những gì tôi mô tả không? Xin lưu ý rằng điều rất quan trọng đối với tôi là chỉ có lượt xem duy nhất được tính.
Cập nhật: ngoài việc đề xuất phương pháp triển khai, tôi cũng muốn hiểu thêm về các vấn đề về hiệu suất khi giả sử phương pháp ngây thơ đơn giản kiểm tra xem IP có tồn tại và cập nhật cột 'xem' không chế độ xem trang. Vấn đề chính là số lượng chèn lớn xảy ra (giả định lưu lượng truy cập lớn) hoặc kích thước của bảng ánh xạ đối tượng-to-ip (có thể rất lớn vì một hàng mới sẽ được chèn cho mỗi câu hỏi cho mỗi khách truy cập mới). Điều kiện chủng tộc có nên được xem xét (tôi chỉ giả định rằng một bản cập nhật/tăng sql tuyên bố là nguyên tử)? Xin lỗi cho tất cả các câu hỏi nhưng tôi chỉ bị mất như thế nào tôi nên tiếp cận này.
Kiểm tra câu trả lời của tôi ở đây, có thể: http://stackoverflow.com/questions/1269968/incremented-db-field/1269973#1269973 –