1

まず第一に、私の質問はそれと非常に似ていることを知っています:

MySQLはちょうど7日前から行を選択します

違いは、日付がタイムスタンプとしてデータベースに保存されることです。

FROM_UNIXTIME を使用してタイムスタンプから日付を取得できることはわかっています。別の回答では、非常にリソースを消費していました (比較する前にすべてのレコードでタイムスタンプ フィールドを日付に変換する必要があるため)。

DATE(from_unixtime(タイムスタンプ)) = CURRENT_DATE()

これを行う最適化された方法はありますか?

4

1 に答える 1

5

振り返ってみましょう。最初に目標日のUNIXタイムスタンプを計算し、それを使用します。

WHERE timestamp = UNIX_TIMESTAMP(NOW() - INTERVAL 7 DAY)

MySQLはその値を一度計算し、それを常に使用する必要があります(ただしテストが必要です)。そうでない場合は、変数またはコードを使用してください。

于 2013-02-27T10:59:21.033 に答える