簡體   English   中英

在MySQL中存儲微時差的最佳數據類型

[英]Best data type for storing microtime difference in MySQL

我將記錄處理REST請求所需的時間,但我不確定哪種數據類型最適合該列。 時間差將以毫秒為單位,我不希望它小於1毫秒,但可能會是幾秒鍾(確實希望不會更高!)。

在MySQL數據庫中存儲時間跨度的最佳方法非常相似嗎? ,但精度更高。

我相信我有兩個選擇:時間戳或整數。 時間戳具有微秒級的精度,整數可以具有我需要的任何實際精度(將時間差乘以Y * 1000)。

時間差將在PHP中通過以下方式計算:

$start = microtime(true);
// do something
$runtime = microtime(true) - $start;

在MySQL中,哪種數據類型最好存儲毫秒級的時間差?

在這種情況下,時間戳和整數的優點/缺點是什么?

時間戳用於存儲時刻,而不是持續時間。 TIMESTAMP不存儲毫秒, TIME也不存儲。 用一個整數字段。

我還發現了一個類似的問題: 在MySQL中存儲微秒:哪種解決方法?

時間戳不會減少它。

TIMESTAMP列以與DATETIME列相同的格式顯示。 換句話說,顯示寬度固定為19個字符,格式為“ YYYY-MM-DD HH:MM:SS”。

即使您做幾行以捕獲“時間上的瞬間”來做兩者的差值(差異),最好的精度也只有幾秒鍾。

我會用整數來做。 這樣,您可以在幾毫秒內進行multipliers 例如,.1毫秒可以在整數列中存儲為“ 1”。 由於整數只能存儲在整數列中,因此通過使用硬乘法器規則,您可以向后工作以確定毫秒數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM