MsSqlServer 查看数据库索引的使用情况
--查看数据库索引的使用情况
select db_name(database_id) as N'库名', --库名
object_name(a.object_id) as N'表名', --表明
b.name N'索引名称',
user_seeks N'用户索引查找次数',
user_scans N'用户索引扫描次数',
last_user_seek N'最后查找时间',
last_user_scan N'最后扫描时间',
rows as 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('db1') ---改成要查看的数据库
and object_name(a.object_id) not like 'sys%'
and object_name(a.object_id)='table_V2' ---改成要查看的表
order by user_seeks,user_scans,object_name(a.object_id)
--清空查询缓存
DBCC freeproccache
-- 查看sql执行计划
SELECT * FROM V2 --表名
SELECT cacheobjtype ,
objtype ,
usecounts ,
sql
FROM sys.syscacheobjects
WHERE sql NOT LIKE '%cach%'
AND sql NOT LIKE '"sys."'
AND cacheobjtype LIKE '%Plan%'
--查看表,索引结构
sp_help 'V2'
------------------
https://www.cnblogs.com/lyhabc/archive/2013/01/19/2867174.html
多数据其实跟SQL Server是否能hold住
没有多大关系,而是跟博主的架构能力有关系,数据库架构无非就是 分表-》分库-》分机房,解决CAP问题,还有就是MVCC的问题
看一下执行计划
查询能使用到索引
看一下数据库的压力,
业务表是做了分区的,分区函数和分区方案
查询出来的数据量,是否有大字段,数据量大,500M到客户端
分表--分库--分机房--CAP
分页存储=8k