0

我正在使用 PHP 和 MySQL。

每次我的一个用户完成给定的操作时,我都需要存储一个 unix 时间戳。我只需要每小时的详细信息级别。有什么理由不应该通过存储类似的东西(integer)(time()/3600)而不是完整的时间戳来减少存储空间?我需要对每个用户的每个会话的这个时间戳进行多次查询。

如果我按原样保存时间戳,我计划将它作为一个存储INT在 MySQL 中。我需要创建一个结合用户 ID 和时间戳的索引。

如果我将时间戳转换为小时数,我可以将它作为 a 存储MEDIUMINT在 MySQL 中。

4

2 回答 2

1

出色地。一个原因:除非时间戳保存为字符串,或者我们已经过了 2038 年,否则它实际上不会使用更少的空间。

于 2012-10-13T22:12:20.493 回答
0

通常,如果您在表上插入的时间戳数据少于 5 百万,这将减少数据库中的空间。以其他方式,您不需要将性能保存为数据库中的无符号 (10) 整数,而不是时间戳或日期/时间。这将加快索引和搜索数据的速度。

于 2012-10-13T22:18:57.733 回答