ホームページ  >  記事  >  データベース  >  MySQL は時刻フィールドを格納するために int、timestamp、または datetime を使用しますか?

MySQL は時刻フィールドを格納するために int、timestamp、または datetime を使用しますか?

高洛峰
高洛峰オリジナル
2016-12-02 13:23:191462ブラウズ

通常、datetime 型は時刻を格納するために使用されますが、多くのシステムでは時刻を格納するために int も使用されます。それらの違いは何ですか?私の要約は次のとおりです:

int

(1) INT の長さは 4 バイトであり、int インデックスの格納スペースも比較的小さいです。クエリ効率は比較的高い
(2) 可読性が非常に悪く、データを直感的に見ることができないため、非常にイライラする可能性があります


TIMESTAMP

(1) 4 バイトのストレージ

(2)値はUTC形式で保存されます
(3)タイムゾーン変換、保存時に現在のタイムゾーンを変換し、取得時に現在のタイムゾーンに変換します。
(4) TIMESTAMP 値は 1970 年より前または 2037 年以降にすることはできません


datetime

(1) 8 バイトのストレージ

(2) タイムゾーンに依存しません

(3) 'YYYY-MM-DD HH を使用DATETIME 値を :MM:SS 形式で取得して表示します。サポートされている範囲は「1000-01-01 00:00:00」から「9999-12-31 23:59:59」です

mysql はここ 2 年間で普及し始めたばかりで、そのパフォーマンスはますます向上しています。保存方法は個人の習慣とプロジェクトのニーズによって異なります。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。