php - 我应该如何更改工作表并添加一列来跟踪时间?

标签 php mysql performance

我有一个表,大约有 30 列。 它被几个不同的 PHP 页面使用。

我要在这个表中添加一个时间列。查询中不会选择 3 个月或之前发布的行。

所以,我脑子里几乎没有什么想法。

  1. 使用 INT 添加“时间戳”列,使用 PHP microtime() 进行计算。
  2. 依靠 PHP 的日期函数。
  3. 在 MySQL 本身中处理这个过程。

    • 我打算使用第一个选项,因为它很容易维护整数。
    • 我一直担心 PHP 日期函数的标准化,因此以前从未依赖过它们。例如,在一个表中我可以做 12.12.2012,在另一个表中我可以做 12.12.2012 13:00 或类似的东西。
    • 该网站在共享主机上运行,​​所以将来我可能会移动另一个主机,我不知道“导出向导”是否也导出那些预设值/触发器等。

简而言之,你会怎么做?您还有什么建议可以给我吗?

最佳答案

我认为如果 MySQL 做所有事情,它的性能会好得多。

像下面这样的东西行得通吗?

SELECT *
FROM table_name
WHERE timestamp_column >= UNIX_TIMESTAMP(NOW()) - 60 * 60 * 24 * 90

关于php - 我应该如何更改工作表并添加一列来跟踪时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14665117/

相关文章:

javascript - 将 javascript 变量传递到下一个 php 页面

javascript - php 不是 "echo-ing"javascript 正确

mysql - Laravel query builder - 如何按别名分组,或做原始 groupBy

c++ - 使用RowMajor和ColMajor数据排列的矩阵行求和的奇怪性能差异

Ruby 结构 - 性能开销?

php - 使用实时更新将在线用户显示为绿色,将离线用户显示为灰色

php - 如何启用 instamojo 沙箱(测试模式)模式

php - MySQL 查询不考虑 GROUP BY

mysql - 如何计算所有行并为结果集中不存在的行返回 0

.net - HashSet<T>.Contains 如何比 List<T>.Contains 快?