这是为即将到来的项目.我有两张桌子 – 第一张用于记录照片,第二张用于记录照片的等级
Photos: +-------+-----------+------------------+ | id | photo | current_rank | +-------+-----------+------------------+ | 1 | apple | 5 | | 2 | orange | 9 | +-------+-----------+------------------+
照片排名会定期更改,这是跟踪它的表格:
Ranks: +-------+-----------+----------+-------------+ | id | photo_id | ranks | timestamp | +-------+-----------+----------+-------------+ | 1 | 1 | 8 | * | | 2 | 2 | 2 | * | | 3 | 1 | 3 | * | | 4 | 1 | 7 | * | | 5 | 1 | 5 | * | | 6 | 2 | 9 | * | +-------+-----------+----------+-------------+ * = current timestamp
跟踪每个等级以用于报告/分析目的.
[编辑]用户可以按需访问统计信息.
我跟那些在这个领域有过经验的人交谈过,他告诉我,存储上面的等级是要走的路.但我还不太确定.
这里的问题是数据冗余.将有成千上万的照片.对于最近的照片,照片等级每小时(很多次 – 几分钟内)会发生变化,但旧照片的频率变化较少.按此速率,该表将在几个月内拥有数百万条记录.由于我没有使用大型数据库的经验,这让我有点紧张.
我想到了这个:
Ranks: +-------+-----------+--------------------+ | id | photo_id | ranks | +-------+-----------+--------------------+ | 1 | 1 | 8:*,3:*,7:*,5:* | | 2 | 2 | 2:*,9:* | +-------+-----------+--------------------+ * = current timestamp
第一个.期.
原文链接:https://www.f2er.com/php/133165.html实际上你会失去更多.存储在int列中的时间戳将仅占用4个字节的空间.
虽然以字符串格式存储的相同时间戳将占用10个字节.