さて、例を挙げましょう
日にち :15.12.2012 00:16:39
これで、次のように保存されます。
20121215001639
たとえば、30分(30 * 60 = 1800秒)より古い行を取得したい場合
私はちょうどすることができます
where date<20121215001639+1800
これは、日時として保存するのではなく、パフォーマンスの方法でしょうか?
さて、例を挙げましょう
日にち :15.12.2012 00:16:39
これで、次のように保存されます。
20121215001639
たとえば、30分(30 * 60 = 1800秒)より古い行を取得したい場合
私はちょうどすることができます
where date<20121215001639+1800
これは、日時として保存するのではなく、パフォーマンスの方法でしょうか?
上記の marc_s のコメントには完全に同意しますが、楽しみのためにテストを行うことにしました。
同じデータを表す2 つのテーブルを作成しました。1 つはdatetime
列を持ち、もう 1 つは列を持ちます。bigint
これがSQLフィドルです:http://www.sqlfiddle.com/#!3/74976/3
500、1000、および 5000 レコードに対してこのクエリを実行しましたが、実行計画が同一であることに毎回気付いたので、パフォーマンスの観点からは、bigint
.
bigint
ただし、このアプローチには明らかな欠点があります。それらのいくつか:
bigint
は、より多くのコードを記述する必要があります