Mysql 用 varchar 同 time 接收時間有咩大分別?

因為一般九成野我都慣左就咁用 varchar , 我本身係將時間格式係咁:  YY - DD - MM 入落去
但值set做time 有無咩好處?

每種datatype佔用空間都唔同架ma
一個10個位既數字用Integer就4bytes (actually always 4 bytes)
但係char就用10bytes

仲有用char search既速度都慢好多,因為要pattern match (有可能用hash既,但唔可以assume DB會幫你optimize)

我唔知MySQL係點,但日期通常係long, 佔8bytes
做sorting都可以好快

另外, varchar比char可能又多d overhead

TOP

你用varchar  唔可以直接做time 既operation 已經係最大問題
例如time1 +30 日 =幾多號, 兩個time 既month/day/year different 等等

TOP

你用varchar  唔可以直接做time 既operation 已經係最大問題
例如time1 +30 日 =幾多號, 兩個time 既month/ ...
wilsont 發表於 2010-5-9 12:56


我依家做法係      可能2009-10-20 至 2010-10-20 有幾多日
就先移除 「-」,再諗運算式...

如果係TIME會係點做架?

TOP

本帖最後由 kazenorin 於 2010-5-11 12:09 編輯

我通常用 Int(10) 入 UNIX_TIME() 再用 PHP date / time 做分析

2010-05-11 呢 d 可以用 strtotime() 同 date() 自由轉換

TOP

回復 4# LikPan


唔係卦...:funk:...
datediff / timediff...

TOP

唔set做date/time既話, 好難做searching架喎

TOP

use unsigned int(10) is okay

date/time is slower than integer

TOP

用1970年1月1日做base加上去
1970-1-1 00:00 = 0000000000
1970-1-1 00:01 = 0000000001
1970-1-10 00:00 = 0000014400

TOP