Производительность SQL Server и порядок полей - PullRequest
6 голосов
/ 30 апреля 2011

влияет ли порядок создания полей в таблице на выполнение команд в таблице? Если ответ положительный, может ли кто-нибудь это обсудить?

Например, я создал такую ​​таблицу

create table Software(int id,alpha datetime,beta datetime,title nvarchar(100),stable datetime,description nvarchar(200) )

если я изменю его на

create table Software(int id,alpha datetime,beta datetime,stable datetime,description nvarchar(200),title nvarchar(100) )

Есть ли эффект производительности?

Это понятно?

Ответы [ 3 ]

4 голосов
/ 30 апреля 2011

Поле order не делает никакой разницы (если поля всегда одинаковы, конечно)

Структура на диске останется практически неизменнойнесмотря на.Просто:

  • заголовок
  • столбцы фиксированной длины
  • нулевое растровое изображение
  • столбцы переменной длины

все вам 'Выше делается перестановка некоторых столбцов в разделах «фиксированной длины» и «переменной длины».Однако для их извлечения требуется одинаковая обработка независимо от того, в каком порядке они находятся.

См. Статья Пола Рэндала

3 голосов
/ 30 апреля 2011

Нет.Это не повлияет на производительность.

0 голосов
/ 30 апреля 2011

Полевой заказ может оказать очень незначительное влияние на производительность и частоту проведения работ по техническому обслуживанию.По большому счету, было бы значительно лучше использовать ваше время для:

  • Построение / тестирование индексов
  • Реструктуризация запросов
  • Таблицы разделов (горизонтально)и по вертикали)
  • Изменение архитектуры файловой группы

Это не исчерпывающий список.

Вы не упомянули, если вы уже настроили какую-либо из этих вещейи все еще нужно выжать из процесса лишние мс.

...