«Порядок» столбцов в таблице является артефактом определения таблиц - одна из ключевых концепций реляционных баз данных заключается в том, что столбцы расположены по имени, а не по порядковому положению.
Фактическое расположение столбцов в базе данных может не соответствовать указанному вами порядку - например, если в таблице определено несколько битовых столбцов, каждый набор из восьми будет упакован в один байт, нет независимо от того, где они появляются в определении таблицы.
В другом примере все столбцы фиксированной длины упаковываются в начале строки. Итак, в вашем примере таблицы ABC
порядок столбцов в каждой строке на диске будет на самом деле A
, C
, B
(но с некоторыми дополнительными структурами, которые также появляются перед столбцом A
и между C
и B
.
Короче говоря, нет, порядок столбцов в таблице не должен влиять.
Вы также можете найти множество примеров вопросов по SO , где люди спрашивают, как вставить столбец в определенную позицию в таблице, и дают похожие ответы - не должно иметь значения, где находится столбец. появляется в определении таблицы - все, что имеет значение, это где столбец появляется в списках выбора и, как вы упомянули, в определениях индекса.
Вы также не должны связывать первичный ключ и кластерный индекс - их не нужно связывать вместе. Поведение по умолчанию заключается в том, что первичный ключ становится кластеризованным индексом в таблице, если кластерный индекс еще не определен.