如何查的某一个表中是否有建立了索引。在线等待,50分相送。

maoxc 2003-11-11 03:02:37
比如:在sql的数据库中有一个表tmp
如何查的该表tmp中是否已经建立了索引呢?
...全文
62 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 元老 2003-11-11
  • 打赏
  • 举报
回复
if exists(select 1 from sysindexes where indid not in(0,255) and object_id('表名')=id)
print '有'
else
print '没有'
txlicenhe 2003-11-11
  • 打赏
  • 举报
回复
sp_helpindex '表名'
zjcxc 元老 2003-11-11
  • 打赏
  • 举报
回复
sp_helpindex '表名'
pengdali 2003-11-11
  • 打赏
  • 举报
回复
if exists(SELECT 1 FROM sysobjects o JOIN sysindexes i ON o.id=i.id WHERE o.type='U' AND i.status & 64=0 AND i.indid < 255 and tablename='tmp')
select '有'
else
select '没有'
gmlxf 2003-11-11
  • 打赏
  • 举报
回复
sp_helpindex 'tmp'

sp_helpindex
报告有关表或视图上索引的信息。

语法
sp_helpindex [ @objname = ] 'name'

参数
[@objname =] 'name'

是当前数据库中表或视图的名称。name 的数据类型为 nvarchar(776),没有默认值。

返回代码值
0(成功)或 1(失败)

结果集
列名 数据类型 描述
index_name sysname 索引名。
index_description varchar(210) 索引描述。
index_keys nvarchar(2078) 表或视图列,在这些列上构造索引。


被降序索引的列将在结果集中列出,该列的名称后面带有一个减号 (-),当列出被升序索引的列(这是默认情况)时,只带有该列的名称。

注释
如果已经用 UPDATE STATISTICS 的 NORECOMPUTE 选项设置了索引,那么在 sp_helpindex 的结果集中会显示这个信息。

权限
执行权限默认授予 public 角色。

示例
下面的示例报告 sysobjects 表上索引的类型。

sp_helpindex sysobjects

34,874

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧