2015-04-21 5 views
3

Я думаю об увеличении размера одного из моих столбцов в моем столе, чтобы он вмещал более длинные значения. Но эта таблица подвергается тяжелым INSERT с на ежедневной основе, я хотел бы знать, будет ли увеличение размера повлиять на мою скорость (и BULK INSERT).Разница в производительности при вставке значения в столбце varchar (50) vs varchar (2000)?

Так есть разница между временем выполнения ввода значения в столбце VARCHAR(50) и, скажем, VARCHAR(2000)?

ответ

2

Изменение длины варчара от 50 до 2000 не влияет ни на что.

Только вопрос, как только вы начнете заполнение колонки больше значения

От Microsoft

VarChar [(п | макс)] строковых данных

переменной длины, не Unicode. n определяет длину строки, а может быть значением от 1 до 8000. max указывает, что максимальная память составляет 2^31-1 байта (2 ГБ). Размер хранилища - это фактическая длина данных , введенная + 2 байта. Синонимы ISO для varchar имеют различный характер или характер.

+1

[This one] (http://dba.stackexchange.com/q/90439/37328) может быть полезен в качестве ссылки. –

5

Влияние заявления insert не является вашей главной заботой. Выбор данных из вашей базы данных может занять больше времени, поскольку длина строки становится намного длиннее. Это повлияет на производительность чтения и давление памяти.

Насколько велико влияние, и если вы беспокоитесь об этом, это зависит от частоты запросов, от общего количества строк и возможных индексов (от этого столбца или от других).

Я бы предложил провести некоторые тесты в своей среде, используя очень часто используемые вами запросы и тестирование его производительности.