php – 如何优化这个MySQL表?
发布时间:2020-12-13 22:38:58 所属栏目:PHP教程 来源:网络整理
导读:这是为即将到来的项目.我有两张桌子 – 第一张用于记录照片,第二张用于记录照片的等级 Photos:+-------+-----------+------------------+ | id | photo | current_rank |+-------+-----------+------------------+ | 1 | apple | 5 || 2 | orange | 9 |+----
这是为即将到来的项目.我有两张桌子 – 第一张用于记录照片,第二张用于记录照片的等级
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 这意味着PHP中的一些额外代码可以分割排名/时间(和排序),但这看起来还不错. 这是优化表格性能的正确方法吗?你会推荐什么?
第一个.期.
实际上你会失去更多.存储在int列中的时间戳将仅占用4个字节的空间. 虽然以字符串格式存储的相同时间戳将占用10个字节. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |