2012-03-02 38 views
0

可能重複:
Are there any disadvantages to always using nvarchar(MAX)?
varchar(max) everywhere?使用VARCHAR(最大)

鑑於VARCHAR總是存儲字符它,而不是它的大小的實際金額(例如,包含「Hello」的varchar(10)列僅佔用5個字節),爲什麼不將所有VARCHAR列創建爲varchar(max)?

好的,有索引問題,其中只有最大900字節的列可以被索引,所以爲什麼不創建所有的列作爲varchar(900)或所有不應被索引爲varchar(max )和其他作爲varchar(最大)

+1

你的意思是,也是非字符串列嗎?所以例如總結整數列,你必須轉換它們?羅。 – vulkanino 2012-03-02 13:55:11

+0

no no ..所有字符串列,我通常創建的varchar(50)或varchar(100) – Diego 2012-03-02 13:55:42

+1

'varchar'開銷超過'char'。如果你有一個郵政編碼列,你知道它總是會存儲5個字符,那麼爲什麼要聲明'varchar(900)'?沒有意義。此外,列的大小是讀者和數據庫的**信息**的來源。 – vulkanino 2012-03-02 13:58:00

回答