データーベースに入れる日付ですが、ミリ秒まで入れるケースはありますか?
ユーザーの履歴を保存しようと思っているのですが、一般的にはどのような形式で入れますでしょうか?
date("Y-m-d H:i:s")
でいいと思いますか?
ミリ秒まであった方が便利だったりするのでしょうか?
ミリ秒あってよかったこと、なくて困ったことなど事例があったら教えてほしいです。
宜しくお願い致します。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/29 06:43
2020/03/29 11:53
回答4件
0
手っ取り早い回答
一般的にミリ秒は必要有りません。
以下感想です
ユーザー履歴にミリ秒は必要か?というシステム要件の話なので
お仕事なのであれば要件を決めている人に確認しないとマズい事になりかねません。
ご自身が要件を決める側であるならクライアントからのヒアリングで要不要を決めていくしかありません。
どちらでも無い、例えば自作の趣味サイトでの話であるならば、
私の場合なら今使いみちが思いつかないのであれば入れないです。
その上でミリ秒を使うケースはあるか?といえばこれくらいです。
- ミリ秒単位でどんどん履歴が貯まりこのカラムで発生順を担保するのでそもそも必須
- 画面に表示する時ミリ秒を出してデザイン的にカッコよさげにする
ミリ秒が必要な場合は設計時にミリ秒が必要だと大体分かるので
繰り返しになりますが今思いつかないのであれば入れなくても良いと思います。
投稿2020/03/29 05:00
総合スコア31
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/29 05:19
2020/03/29 05:40
2020/03/29 05:50
2020/03/29 06:01
2020/03/29 06:17 編集
2020/03/29 06:30
2020/03/29 06:34
2020/03/29 06:35
2020/03/29 06:36
2020/03/29 06:37
2020/03/29 06:40
2020/03/29 06:41
2020/03/29 06:43
2020/03/29 06:44
2020/03/29 06:49
2020/03/29 06:55
2020/03/29 07:06
2020/03/29 07:07
2020/03/29 07:14
0
日に一度しか発生しない履歴であれば日まで、秒単位で発生する履歴であれば秒単位で、一秒間で何度も発生するのであればミリ秒なりマイクロ秒ナノ秒単位で。要件によるのではないでしょうか。
要件がよくわからず決められないのであれば、datetime型やtimestamp型の精度を確認したうえで、わたしならまずはその型を使っておくかな。
投稿2020/03/29 04:02
総合スコア4061
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
DB が用意している時間関係のデータ・タイプから、あなたの要件に適切とおもわれるものを使えばよいです。
日付型と時刻型(DATE, TIME, DATETIME, TIMESTAMP, YEAR)
https://www.dbonline.jp/mysql/type/index4.html
ユーザー履歴なら、Timestamp で 小数部の桁数も最大まで指定しておくのがよいです。
1秒の間に何十件もユーザー履歴が登録されるようなサイトだったら、秒単位までしか記録をとっておかなかったとすると, 履歴を時間順に並べることが困難になる可能性があります。
(プライマリーキー の大小で判定ができるかもしれませんが)
投稿2020/03/29 06:34
総合スコア22324
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/29 07:40 編集
2020/03/29 07:55 編集
0
ベストアンサー
要件次第であるというのは他の方も仰っているとおりですが
ミリ秒あってよかったこと、なくて困ったことなど事例があったら教えてほしいです。
複数人が同時に更新(INSERT)する可能性のあるテーブルで、システムの不具合によりデータ不整合(仕様上はありえないデータの状態)となった時に、正確に更新順(各ユーザーの操作順)を把握するためにミリ秒まであって良かった、というケースはあります。
投稿2020/03/29 05:22
総合スコア8947
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。