資料庫設計的幾個時間問題

2021-08-21 16:24:58 字數 1402 閱讀 8080

資料庫字段設計上老是會因為幾個時間型別而喋喋不休,有的人會忽視掉,有的人會追根究底,但可能最終還是沒徹底解決

前面2個都是資料庫原生的時間型別。而且可以進行相互轉換,乙個是時間戳格式乙個是年月日時分秒可讀型別。

通常時間型別選擇的是出於儲存大小的 考慮,為了不浪費空間或能減少索引大小。

那麼二者的儲存開銷是多大呢?

參考官網:

data type

storage required before mysql 5.6.4

mysql 5.6.4

year

1 byte

1 byte

date

3bytes

3bytes

time

3 bytes

3 bytes + fractional seconds storage

datetime

8 bytes

5 bytes + fractional seconds storage

timestamp

4 bytes

4 bytes + fractional seconds storage

numeric type storage requirements

data type

storage required

tinyint

1 byte

smallint

2 bytes

mediumint

3 bytes

int, integer

4 bytes

bigint

8 bytes

float(p)

4 bytes if 0 <= p

<= 24, 8 bytes if 25 <= p

<= 53

float

4 bytes

double[precision], [real(

8 bytes

decimal(m,d), numeric(m,d)

varies; see following discussion

bit(m)

可以看到datetime需要8個位元組,而timestamp 需要4個位元組,int 同樣也只需4位元組,從儲存空間上來說 timestamp和int 要比datetime 要好。

表示範圍

如上,若從表示範圍來考慮,datetime又會好於無符號int ,int 又會好於timestamp

Mybatis從資料庫取出時間問題

通過mybatis,從資料庫取出的時間總是帶上國際化的標識,而且還莫名的少了幾個小時。在pojo中,對相應的date屬性字段變數新增註解 jsonfield name end time format yyyy mm dd hh mm ss fastjson 專用,定義json 的 key,還有時間的...

Oozie的時間問題

oozie是hadoop的工作流,能夠排程hadoop的相關任務,在這裡說一下oozie的時區問題。時區概念 大家應該知道,地球上按照經緯度將地球劃分為二十四個時區 東 西各12個時區 每兩個相鄰的時區間時間上相差1小時。標準時間概念 utc是世界標準時間,指的是零時區 英國格林尼治天文台舊址 裡的...

postgresql的時間問題

1 問題描述 昨天開發同事遇到乙個時間轉換的問題提交到測試環境發現pg的時間和系統的時間不一致,相差十多個小時時區不一致,在此簡單記錄一下 2 查系統時間pg時間發現不一致 date pg上查詢 select now show time zone us pacific 在設定set time zon...