我正在考慮增加我的表中某個列的大小,以便它適應更長的值。但是這張桌子每天都會經歷很重的INSERT
秒,我想知道如果增加尺寸會影響我的INSERT
(和BULK INSERT
)的速度。將值插入到varchar(50)列vs varchar(2000)時的性能差異?
那麼在VARCHAR(50)
和VARCHAR(2000)
列中插入值的執行時間是否有差異?
我正在考慮增加我的表中某個列的大小,以便它適應更長的值。但是這張桌子每天都會經歷很重的INSERT
秒,我想知道如果增加尺寸會影響我的INSERT
(和BULK INSERT
)的速度。將值插入到varchar(50)列vs varchar(2000)時的性能差異?
那麼在VARCHAR(50)
和VARCHAR(2000)
列中插入值的執行時間是否有差異?
將varchar的長度從50更改爲2000不會影響任何內容。
唯一的問題是,一旦你開始不再填充列值
VARCHAR [(N | MAX)
可變長度,非Unicode字符串數據。 n定義了字符串長度,並且 可以是從1到8,000的值。 max表示最大存儲大小爲2^31-1字節(2 GB)。存儲大小是輸入的數據的實際長度 + 2個字節。 varchar的ISO同義詞是char變量或字符變量。
insert
聲明的影響並不是您最關心的問題。由於行長度變得更長,因此從數據庫中選擇數據可能需要更長的時間。這會影響讀取性能和內存壓力。
的影響到底有多大,如果你要擔心,取決於你(該列,或其他)查詢的頻率,行的總數和可能的索引。
我會建議你在你的環境中使用經常使用的查詢來測試它的性能。
[This one](http://dba.stackexchange.com/q/90439/37328)可能是有用的參考。 –