SQL Server 查看一个表上的索引

方法:1

sys.indexes

index_id =0:堆

index_id =1:聚集索引

index_id =2.....:非聚集索引

-------------------------------------------------------------------------------------

例子:

create table Student(
ID int not null,
Name nvarchar(16),
Major nvarchar(16));
go

create index ix_for_Student_ID
on dbo.student(ID);
go

create clustered index ix_clu_for_Student_Name
on dbo.Student(Name);
go

select OBJECT_NAME(ix.object_id),ix.index_id,ix.name from sys.indexes as ix
where ix.object_id = object_id(‘Student‘);
go

时间: 2024-10-25 22:21:37

SQL Server 查看一个表上的索引的相关文章

SQL Server 查看数据表占用空间大小的SQL语句

1 declare @name varchar(1000) 2 declare @sql varchar(1000) 3 4 if object_id('tempdb..#space') is not null drop table #space 5 create table #space(name varchar(50),rows bigint,reserved varchar(12),data varchar(12),index_size varchar(12),unused varchar

SQL Server查看所有表大小,所占空间

将数据库的所在机器所有数据库名称及其大小查询出来 2.将数据库下的所有表的名称及其大小查询出来 请高手指点! 1.查看所有数据库相关信息,包裹存储路径等. use master select * from dbo.sysdatabases 2. 以SQL2000自带PUBS为例 exec sp_MSForEachTable @precommand=N'create table ###(表名 sysname,记录数 int,保留空间 Nvarchar(10),使用空间 varchar(10),索引

SQL Server查看所有表大小、表行数和占用空间信息

一.查看表名和对应的数据行数select  a.name as '表名',b.rows as '表数据行数'from sysobjects a inner join sysindexes bon a.id = b.idwhere   a.type = 'u'and b.indid in (0,1)--and a.name not like 't%'order by b.rows desc 其实本来只想找一个方法能查询一下 数据库 的大小,没想到这个方法还能查询数据库中 各个数据表 的大小,嗯,挺

SQL SERVER 2005 获取表的所有索引信息以及删除和新建语句

BEGIN        WITH tx AS        (                SELECT a.object_id                      ,b.name AS schema_name                      ,a.name AS table_name                      ,c.name as ix_name                      ,c.is_unique AS ix_unique          

SQL SERVER 查询一个表有多少列

select count(1) from syscolumns where id = object_id('tbname') 或者 select * from syscolumns where id = object_id('tbname') 或 SELECT MAX(colid) FROM syscolumns WHERE id=OBJECT_ID('table')

SQL SERVER中关于OR会导致索引扫描或全表扫描的浅析

原文:SQL SERVER中关于OR会导致索引扫描或全表扫描的浅析 在SQL SERVER的查询语句中使用OR是否会导致不走索引查找(Index Seek)或索引失效(堆表走全表扫描 (Table Scan).聚集索引表走聚集索引扫描(Clustered Index Seek))呢?是否所有情况都是如此?又该如何优化呢? 下面我们通过一些简单的例子来分析理解这些现象.下面的实验环境为SQL SERVER 2008,如果在不同版本有所区别,欢迎指正. 堆表单索引 首先我们构建我们测试需要实验环境,

SQL Server查看索引重建、重组索引进度

原文:SQL Server查看索引重建.重组索引进度 相信很多SQL Server DBA或开发人员在重建或重组大表索引时,都会相当郁闷,不知道索引重建的进度,这个对于DBA完全是一个黑盒子,对于系统负载非常大的系统或维护窗口较短的系统,你会遇到一些挑战.例如,你创建索引的时候,很多会话被阻塞,你只能取消创建索引的任务.查看这些索引维护操作的进度.预估时间对于我们有较大的意义,需要根据这个做一些决策.下面我们来看看看看如何获取CREATE INDEX.ALTER INDEX REBUILD.AL

SQL Server查看表结构及视图,适合开发者使用,简单易用

SELECT * FROM INFORMATION_SCHEMA.TABLES SELECT * FROM INFORMATION_SCHEMA.COLUMNS 查看执行结果 SQL Server查看表结构及视图,适合开发者使用,简单易用,布布扣,bubuko.com

快速查看SQL Server 中各表的数据量以及占用空间大小

快速查看SQL Server 中各表的数据量以及占用空间大小. CREATE TABLE #T (NAME nvarchar(100),ROWS char(20),reserved varchar(18) ,Data varchar(18) ,index_size varchar(18) ,Unused varchar(18) ) GO INSERT #T EXEC SP_MSFOREACHTABLE 'EXEC sp_spaceused "?"' SELECT * FROM #T O