每天我都想跟踪我的数据库中某个对象获得了多少“点击”(int)。
现在对象中称为 clicks 的 int 显然无济于事,因为我无法跟踪点击的日期。
存储每日点击次数最聪明的方法是什么?
每天我都想跟踪我的数据库中某个对象获得了多少“点击”(int)。
现在对象中称为 clicks 的 int 显然无济于事,因为我无法跟踪点击的日期。
存储每日点击次数最聪明的方法是什么?
VisitedDate
将该列保留在跟踪表中。
RecordID INT Identity
ItemID INT
VisitedDate DateTime
IPAddress varchar(30)
获得记录后,您可以查询并获取特定日期/月份的访问结果等...
按照 Shyju 的建议创建一个表(IP 地址是可选的),是的,它会快速增长,但如果出现问题,您可以将数据汇总到每周(或每月或每年)的汇总表中,其中存储该项目的总数, 在那个时间段内。
最好始终将数据最初存储在这个最低级别,然后根据需要汇总/存档到汇总表,因为如果您最初将数据存储在汇总级别,您将永远丢失该详细信息 - 在详细信息级别进行跟踪让您的所有选择保持开放。
如果您需要,有一些性能变通方法,没有变通方法可以重新创建您从未存储的数据。
我在点击表上随时随地插入或更新。
Clicks
(Product_id | Vendor_id | User_id)[unique] | Clicks | Created_at
如果 (Product_id | Vendor_id | User_id) 组合不存在,则插入。更新(+1 点击),如果该组合已经存在。
我不会担心现在的表现,在早期阶段。
如果你还在担心,
Use a javascript request and write the (Product_id | Vendor_id | User_id)[unique] | Clicks | Created_at into a textfile, onclick.
在 EOD 中,将文件中的信息加载到 clicks 表中。