datetime VS时间戳性能

use*_*900 1 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 "....";
    }
    }
...
Run Code Online (Sandbox Code Playgroud)

Cha*_*les 9

你只处理十万条记录?

然后,这有资格作为微优化.

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

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