我有一个查询。这将获取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
最终将成为存储日期和时间信息的最好、最灵活的列类型,因为这就是它的设计目的。
只有当可以证明另一种方法更快时才更改。通过基准测试和分析代码来找到真正的瓶颈