Подтвердить что ты не робот

Имя индекса должно быть уникальным в базе данных?

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

Например, следует ли мне указать мой индекс: IX_OrderLoadCarrierDelivery_OrderLoadID

для столбца OrderLoadID таблицы OrderLoadCarrierDelivery. Или я должен просто назвать его IX_OrderLoadID

Спасибо!

4b9b3361

Ответ 1

Они должны быть уникальными для таблицы или представления, для которых они были созданы.

Вот ссылка на msdn, которая описывает это.

FTA:

index_name

Это имя индекса. Имена индексов должны быть уникальными в пределах таблицы или представления, но не обязательно уникальный в базе данных. Названия индексов должен следовать правилам идентификаторов.

Я считаю, что соглашение

IX_FieldName

Ответ 2

Нет, для таблицы.

То есть, уникальная (object_id, name) пара столбцов в sys.indexes, а не просто (имя) в sys.objects(игнорируя schema_id)

Я также использовал бы что-то вроде IX_SingleColumn или IX_ParentTable. Добавление таблицы является излишним, в отличие от ограничения по умолчанию или проверки, скажем, уникального для каждого DB

Ответ 3

Они должны быть уникальными, поскольку все хранится в sysobjects с именем в качестве ключа Если вы используете студию управления SQL, это синтаксис IX_Table_Field