datetime VS时间戳性能

时间:2011-05-01 06:20:42

标签: php mysql datetime timestamp

我有一个查询。这应该获取2个月前创建的记录。 mysql表类型是Innodb。 我用哪种类型的日期(时间)。 Datetime或Timestamp int(11)或Timestamp以获得更好的性能。 记录大约是50000-100000。

....
    $monthsback = 2;
    $date = strtotime("-$monthsback months",time());
    $date =date( "Y-m-d H:i:s", $date );  // if i use Datetime
    while($result=mysql_fetch_array($r))
    {
    $recorddate=$result['date'];//fetched from mysql
    if ($recorddate>$monthsback)
    {
    echo "....";
    }
    else
    {
    echo "....";
    }
    }
...

1 个答案:

答案 0 :(得分:9)

你只处理了十万条记录?

然后,这符合微优化

选择最适合数据的列类型。 DATETIME最终将成为存储日期和时间信息的最佳,最灵活的列类型,因为这是它的目的。

如果证明另一种方法更快,则只需更改此 。通过 benchmarking and profiling your code 执行此操作,以查找真正的瓶颈。