2009-09-30 59 views
0

我想讓自己的領域儘可能小,但是同時我不想回頭再讓它們變大。常用數據庫字段大小/類型快速參考?

我想知道是否有某種常見數據庫字段的字段大小和/或類型的快速參考。

即,什麼是合理的電子郵件字段? 50? 100?

或者這不是我應該擔心的事情嗎?

+1

[數據庫字段標準長度列表]的可能重複(http://stackoverflow.com/questions/20958/list-of-standard-lengths-for-database-fields) – outis 2011-04-16 18:44:17

回答

1

如果使用VARCHAR()(或nvarchar()),你不必太擔心關於設置一個稍高的初始值,在大多數DBMS中,沒有數據丟失,也沒有真正的增加事後大小的成本。

對於大多數DBMS 而言,在表中至少使用一個varchar字段的成本爲,但無論您有一個還是多個varchars,成本都是相同的。定義至少具有一個varchar字段的表的每行成本是名義上的(一個或兩個字節),並且通常由不存儲所有這些長字符串的保存來抵消。

使用固定長度的字符類型,對於電子郵件地址,需要允許(例如以最小的40個字符的順序),因爲這樣的長地址並不罕見,但這可能會浪費大約15到20個字節對於大多數行來說,因爲大多數電子郵件地址的平均長度可能大約爲20-25(甚至更少)。

因此,簡而言之,除非數據集的記錄數量在數百萬以上,並且性能是一個主要關注點,否則使用VARCHAR和類似的類型不需要做出艱難的選擇(並且確實很難改變選擇)允許個別領域的長度。