首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sys.indexes似乎已过时

sys.indexes似乎已过时
EN

Stack Overflow用户
提问于 2013-06-10 21:48:14
回答 1查看 166关注 0票数 0

我想创建一个脚本来修改表上的索引。首先,我检查查询中的sys.indexes和sys.index_columns,以确保索引尚未修改(列与我预期的相同),如果需要更新,则删除索引。然后,如果新结构不存在,我将创建具有新结构的索引。所有这些似乎都工作得很好,当我转到我的表上的对象浏览器并查看索引的属性时,一切看起来都很好。但是,当我再次查询sys.indexes和sys.index_columns时,它显示了旧索引中的结构。如何更新这些表?我假设在删除索引后再次创建索引时,它会自动发生。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-10 21:51:14

我的查询是错误的,那就是查看sys.indexes。

我有这样的经历:

代码语言:javascript
复制
SELECT *
FROM sys.indexes i
JOIN sys.index_columns ic
  ON ic.index_id = i.index_id
  AND ic.object_id = i.object_id
JOIN sys.columns c
  ON c.object_id = i.object_id
  AND c.column_id = ic.index_column_id  --<--
WHERE i.name = 'Index002'

应该是这样的:

代码语言:javascript
复制
SELECT *
FROM sys.indexes i
JOIN sys.index_columns ic
  ON ic.index_id = i.index_id
  AND ic.object_id = i.object_id
JOIN sys.columns c
  ON c.object_id = i.object_id
  AND c.column_id = ic.column_id --<--
WHERE i.name = 'Index002'
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17025459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档