sqlserevr索引、自增列查询SQL
一、索引查询
1.可视化方式查询
1) 进入实例数据库内,选择想要查看的数据库及表信息。
2) 展开表,即可查看其索引情况(一般情况下,PK为主键,IX为索引)。
3) 或者右击表,编辑表结构,可以查看到索引信息,外键信息,可以通过列信息看到主键情况。
2.SQL查询方式
1) 查看 SQLSever 索引情况 SQL 如下:
select distinct db_name(database_id) as N'TOPK_TO_DEV', --库名
object_name(a.object_id) as N'TopProjectNew', --表名
b.name N'索引名称',
user_seeks N'用户索引查找次数',
user_scans N'用户索引扫描次数',
last_user_seek N'最后查找时间',
last_user_scan N'最后扫描时间'
from sys.dm_db_index_usage_stats a join
sys.indexes b
on a.index_id = b.index_id
and a.object_id = b.object_id
join sysindexes c
on c.id = b.object_id
where database_id=db_id('dotnet_erp60sl') ---改成要查看的数据库
and object_name(a.object_id) like 's_buyer' ---改成要查看的表
order by user_seeks,user_scans,object_name(a.object_id)
2) 查找表对应的表列信息
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 's_buyer' --修改为对应的表
ORDER BY ORDINAL_POSITION
3) 查找是否有自增列,如果有则返回1,无则返回0
Select OBJECTPROPERTY(OBJECT_ID('表名'),'TableHasIdentity')
4) 查找自增列,如果加上and name 条件可以对指定表进行查找;如果不加,则代表对此刻在的数据库所有表自增列进行输出。
SELECT OBJECT_NAME(OBJECT_ID) 表名,name 字段名 FROM sys.columns
WHERE is_identity = 1
and name='s_buyer' --可删去,如果需要指定,改成对应表名即可
5) 查找主键 SQL 如下
SELECT TABLE_NAME,COLUMN_NAME FROM information_schema.key_column_usage
where table_name='s_Buyer' --改为指定的表名称