datetime VS时间戳性能


datetime VS timestamp performance

我有一个查询。这将获取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 "....";
    }
    }
...

你只处理十万条记录?

那么这就是一个微优化

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

只有当可以证明另一种方法更快时才更改。通过基准测试和分析代码来找到真正的瓶颈