[英]MySQL storing duration time - datatype?
我需要計算用戶在網站上花費的時間。 注銷時間和登錄時間之間的區別給我一些類似“X先生花了4小時43分鍾在線”的內容。 所以為了存儲4小時43分鍾我聲明它是這樣的: duration
時間NOT NULL
這是有效的還是更好的存儲方式? 我需要存儲在DB中,因為我有其他計算我需要將其用於+其他用例。
將其存儲為整數秒將是最佳方式。
UPDATE
將是簡潔的 - 即duration = duration + $increment
TIME
字段存在限制 - 例如“ TIME
值可能在'-838:59:59'
到'838:59:59'
” 我不會使用時間,因為你將限制在24小時。 最簡單的方法是以分鍾(或秒為單位)存儲整數,具體取決於您需要的分辨率。
考慮將兩個值存儲為UNIX-epoch-delta。
我通常更喜歡使用帶符號(64b)bigint(第二個分辨率),或(帶符號)(64b)雙(如果需要小數秒),或帶符號(32b)int(如果縮小到每分鍾或每小時) 。
在列的名稱中使單元顯式化,例如使用“_epoch_minutely”等后綴,例如:“started_epoch_minutely”,“finished_epoch_minutely”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.