Проблема создания индекса с включенными столбцами (SQL Server Express) - PullRequest
4 голосов
/ 16 ноября 2009

Я использую Проводник баз данных / конструктор Visual C # 2008 Express Edition с SQL Server Express 2008.

Я создал таблицу и хочу добавить индекс. Но индекс будет превышать 900 байт. Одним из обходных путей является использование включенных столбцов в индексе. К сожалению, свойство «Включенные столбцы» отключено в конструкторе индекса, и я не нашел способа его включить.

Может кто-нибудь сказать мне, как включить свойство? Есть ли другой способ добавить включенные столбцы в индекс с помощью конструктора? Поддерживается ли эта функция вообще SQL Server Express?

Ответы [ 2 ]

12 голосов
/ 25 октября 2010

Вам нужно создать индекс, развернув таблицу в проводнике, щелкнув правой кнопкой мыши папку «Индексы» и выбрав «Добавить индекс ...». Убедитесь, что дизайнер таблиц закрыт, когда вы делаете это

1 голос
/ 25 октября 2010

Это, безусловно, поддерживается против экспресс. Через некоторое время вы обнаружите ограничения в большинстве инструментов с графическим интерфейсом, стоит изучить фактический синтаксис и вводить команды напрямую. Синтаксис CREATE INDEX легко найти в MSDN, и они обычно описывают любые ограничения редакции в разделе замечаний.

Так, например, я просто запустил это для своего экземпляра Express без проблем:

create table T1 (
    ID int not null,
    Val1 varchar(10) not null
)
go
create unique nonclustered index IX_T1 on T1 (ID) INCLUDE (Val1)
go

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...