索引名称是否必须在整个sql server数据库中是唯一的,或者仅针对该表?
例如,我应该为我的索引命名:IX_OrderLoadCarrierDelivery_OrderLoadID
表示OrderLoadID
表的OrderLoadCarrierDelivery
列。或者我应该将其命名为IX_OrderLoadID
谢谢!
答案 0 :(得分:22)
对于为其创建的表或视图,它们必须是唯一的。
以下是reference on msdn详细说明了这一点。
FTA:
index_name
是索引的名称。 索引名称在a中必须唯一 表格或视图但不一定是 在数据库中是唯一的。索引名称 必须遵守标识符规则。
我相信会议是
IX_FieldName
答案 1 :(得分:7)
不,每张桌子。
即sys.indexes中的唯一(object_id,name)列对,而不是sys.objects中的(name)(忽略schema_id)
我还会使用IX_SingleColumn
或IX_ParentTable
之类的内容。与默认或检查约束不同,添加表是多余的,例如,每个数据库都是唯一的
答案 2 :(得分:-4)
它们必须是唯一的,因为所有内容都存储在sysobjects中,并且名称为key 如果您使用SQL管理工作室,那么它是IX_Table_Field语法