метка даты и времени - PullRequest
1 голос
/ 01 мая 2011

У меня есть запрос. Это должно извлечь записи, созданные 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 Ответ

9 голосов
/ 01 мая 2011

Вы имеете дело только с сотней тысяч записей?

Тогда это квалифицируется как микрооптимизация .

Выберите тип столбца, который наилучшим образом соответствует данным. DATETIME станет лучшим и наиболее гибким типом столбца для хранения информации о дате и времени, потому что это то, для чего он предназначен.

Измените это только , если вы можете доказать , что другой метод работает быстрее. Сделайте это с помощью сравнительного анализа и профилирования вашего кода , чтобы найти реальных узких мест.

...