2008-11-20 194 views
4

我有一個已經很大的表,我的客戶要求我擴展註釋字段的長度。筆記字段已經是一個NVARCHAR(1000),我被要求將其擴展到3000.長期解決方案是將筆記移出表格並創建一個使用只加入的NVARCHAR(max)字段的筆記表在必要時進行。我的問題是關於短期。知道這個字段將在未來被移出如果我現在只是將字段增加到NVARCHAR(3000),我可能會遇到什麼問題?NVARCHAR(3000)可能導致什麼問題

回答

3

文本和ntext不推薦使用varchar(max)和nvarchar(max)。所以nvarchar(3000)應該沒問題。

2

您可能已經知道這一點,但只要確保增加的長度不會使您的總記錄長度超過8000就可以了。我非常確定這仍然適用於2005/2008。

1

對於臨時解決方案,您應該可以使用nvarchar(3000)。您最多可以使用nvarchar(4000)。正如km.srd.myopenid.com發佈的那樣,確保你的行的整個長度不超過8000(記住nvarchar是普通varchar的2倍 - 這就是爲什麼你只能有nvarchar(4000 ),但你可以有varchar(8000))。

1

我建議將列更改爲NTEXT。您對數據量幾乎沒有限制,數據不會與其餘行數據一起存儲。這有助於防止達到最大行大小限制。

唯一的缺點是您只能對該列執行「LIKE」搜索,並且無法爲其編制索引。但是,如果它是一個筆記字段,我的猜測是你根本就沒有進行任何搜索。

0

您的數據頁面可能會分裂以容納更大的字段,您也可能會遇到更慢的速度。您可以創建一個允許記錄超過8060字節的結構,但請注意,如果您嘗試添加實際包含的數據記錄超過了您將遇到的問題。

相關問題