And*_*dén 2 index sql-server t-sql
当我跑
SELECT
count(object_id) AS count,
object_id,
min(name) as name1,
max(name) AS name2
FROM
sys.indexes
GROUP BY object_id HAVING COUNT(*) > 1 ORDER BY count
Run Code Online (Sandbox Code Playgroud)
我将获得具有相同object_id
但不一定具有相同名称的索引列表。
不应该所有object_id
具有相同名称的索引都具有相同的名称吗?
在Object_ID
属于索引所属的对象如索引视图或表。
当你看object_id
的在sys.indexes
文档
object_id - 此索引所属的对象的 ID。
如果要唯一标识索引,则需要Object_ID
+index_id
列或index_id
特定object_id
.
要验证这一点,您可以将该OBJECT_NAME()
函数添加到您的查询中
SELECT
count(object_id) AS count,
object_id,
OBJECT_NAME(object_id),
min(name) as name1,
max(name) AS name2
FROM
sys.indexes
GROUP BY object_id HAVING COUNT(*) > 1 ORDER BY count;
Run Code Online (Sandbox Code Playgroud)