一.碎片查看维护 dbcc showcontig('表名') dbcc showcontig ('T_NOFITSTUDY') 结果如下: DBCC SHOWCONTIG 正在扫描 'T_NOFITSTUDY' 表... 表: ):索引 ID: ,数据库 ID: 已执行 TABLE 级别的扫描. - 每个区的平均页数........................: 1.0 - 扫描密度 [最佳计数:实际计数].......: 100.00% [1:1] - 逻辑扫描碎片 ...........…
今天线上SQLServer数据库的CPU被打爆了,紧急情况下,分析了数据库阻塞.连接分布.最耗CPU的TOP10 SQL.查询SQL并行度配置.查询SQL 重编译的原因等等 整理了一些常用的SQL 1. 查询数据库阻塞 SELECT * FROM sys.sysprocesses WHERE blocked<>0 查询结果中,重点看Blocked这一列,先找出做多的SID,然后循环找出Root的阻塞根源SQL 查询阻塞根源Session的SQL DBCC Inputbuffer(sid) 2.…
转载地址:https://www.cnblogs.com/tianqing/p/11152799.html 今天线上SQLServer数据库的CPU被打爆了,紧急情况下,分析了数据库阻塞.连接分布.最耗CPU的TOP10 SQL.查询SQL并行度配置.查询SQL 重编译的原因等等 整理了一些常用的SQL 1. 查询数据库阻塞 1 SELECT * FROM  sys.sysprocesses WHERE blocked<>0 查询结果中,重点看Blocked这一列,先找出最多的SID,然后循环…
--改成当前库 use DB_Name --创建变量 指定要查看的表 declare @table_id int set @table_id=object_id('TableName') --执行 dbcc showcontig(@table_id) 根据官方文档提示未来Microsoft SQL Server 版本将会移除此功能: 建议改使用: sys.dm_db_index_physical_stats select * from sys.dm_db_index_physical_stats…
背景说明: 今天查阅书籍时,偶然间发现“在对某个索引行执行删除操作时,只是为该行增加了一个删除标记,这个索引行并不会释放它的存储空间,Insert产生的新的索引行也不能被插入到该位置.索引列的修改过程其实是将对应的列值删除,然后再插入新的列值(与数据行本身的修改是不一致的,这也正是我们尽量不使用修改频繁的列来创建索引的原因).所以,无论是插入.修改.删除,都需要消耗存储空间,增大B-Tree索引结构的深度,影响数据的查询速度.尤其是删除和修改,不仅造成了存储空间的浪费,而且增加了扫描索引块的数量…
这一个月老被一个信息科科长纠缠,原因就是他们的sql server 2008 R2老是定期的写入性能低下.我是这样认为的,但身边的人似乎都不这么想.每每我对那个挂在一个交换机上的网络存储表达担忧时,这科长总不以为然. 直到利用window的“管理工具”上的性能监控提供的信息,他们才把重点放回存储上. 检查三项内容: 1.Average disk sec/read, 平均每个读花的时间,小于10ms表示性能很好,在10ms~20ms之间表示性能可以接受,如果大于20ms,说明存在I/O问题:2.A…
下面的代码非但有图文,简直是视频,地址http://www.cnthc.com/?/article/67http://www.cnthc.com/?/article/73 --创建一个玩的数据库Create database Stu_db2go --查看数据库--1.通过图形化界面查看,所有的选项的解释 http://www.cnthc.com/?/explore/category-9 注意看<数据库选项>这个话题--2.通过系统内置函数DATABASEPROPERTYEX   具体可用属性查…
1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始 备份 BACKUP DATABASE pubs TO testBack 4.说明:创建新表 cr…
======重新收集统计信息======= 1.分析和存储表的关键字分布 analyze table table_name; analyze 用于收集优化器的统计信息.和tuning相关:对 myisam.BOB.innodb起作用 注意:(经过实践操作 在MySQL5.5版本下执行sql:analyze table table_name 会马上返回一个ok状态,但是后端仍然会出现锁表等情况) 2.检查表(视图),检查一个或者多个表是否有错误 check table table_name; 对m…
--如何知道是否发生了索引碎片 SELECT object_name(dt.object_id) Tablename,si.name IndexName,dt.avg_fragmentation_in_percent AS ExternalFragmentation,dt.avg_page_space_used_in_percent AS InternalFragmentation FROM ( SELECT object_id,index_id,avg_fragmentation_in_per…