データベースに日付と時刻をどのように保存すればよいのでしょうか? 1つのDATETIME列にそれらを一緒に格納すると、レコードごとに8バイトが必要となり、DATEとTIMEの2つの列に別々のデータを格納すると、レコードごとに合計で6バイトとなります。中小規模のデータベースではそれほど多くはないが、誰かが政治的に正解したいと思っても害はない。それは正しいですか? :)または、datetimeを2つの列に分割する前に考慮すべき点は何ですか?MySQLのデータ型 - DATE型とTIME型を格納すると、DATETIMEエントリに対応するレコードごとに2バイトが別に保存されますか?
繰り返しますが、私は唯一の4つのバイトがかかりますが、TIMESTAMPデータ型は、1970年1月1日00分の範囲を持っていることを知っているので、私はおそらくTIMESTAMPのために行くだろう、上記の表を見たとき: 00:01 'UTC to' 2038-01-19 03:14:07 'UTC私はあまりよく分かりません。それは長期的には良いアイデアですか?私はそれほど古いわけではないので、私はまだ2038年にそこにいるだろうし、2038年1月19日03:14:0 'で何が起こるのか疑問に思う。...私はDATEとTIMEデータとにかく型の列? :)
これはちょっとした部屋を節約するかもしれませんが、2Mバイトの記憶容量の2MBよりもはるかに時間がかかります。 (例: "昨日の正午"と "正午の今日"の間にレコードを見つけるために必要な条件を考えて、フィールド値の関数を使用すると、それらのフィールドにある可能性のあるインデックスの利点がなくなります。テーブル内のすべての行について、これらのフィールドの操作を実行することで速度を落としてください)。 – Uueerdo
あなたはそれについて恥知らずです。私は日付を比較するためにいくつかの洗練されたクエリを作成する必要があります。 TIMESTAMPはどうですか?それはDATETIMEの代わりに考えていますか? (少なくとも2038まで:) – DevWL
TIMESTAMPは実際にあなたの使い方に依存します。あなたが46歳未満の人のみに限定されていない限り、明らかに出生/建設/創業/その他の日程では非常に信頼できるものではないでしょう。私は、タイプ間に若干の行動上の違いがあると信じています。それはタイムゾーンと有効なデフォルト値(MySQLのバージョンに依存します)になります。私はあなたの日付フィールドのサイズについての心配は、あなたの最高のケースの節約額が4Mバイトのフィールドである場合に考慮すべき最後のものの1つであると考えています。 – Uueerdo