SQLERVER优化常用脚本.txt

SQLERVER优化常用脚本.txtSQLERVER优化常用脚本.txtCode
--查看数据库ID
select db_id('web')

--查看高速缓存
Select SQL AS EXEC_SQL,OBJTYPE AS EXEC_TYPE,* FROM MASTER..SYSCACHEOBJECTS  where dbid= '8'
--分组查看高速缓存
select sql,cacheobjtype,OBJTYPE from MASTER..SYSCACHEOBJECTS where dbid= '8' group by cacheobjtype,sql,objtype 
--统计高速缓存
select count(*from MASTER..SYSCACHEOBJECTS where dbid='8'
--释放执行高速缓存
dbcc freeproccache  
--查看内存状况
dbcc memorystatus

--查看执行高速缓存
USE Master
GO
SELECT
UseCounts, RefCounts,CacheObjtype, ObjType, 
DB_NAME(8as DatabaseName, SQL
FROM syscacheobjects
ORDER BY dbid,usecounts DESC,objtype
GO

--显示当前安装的所有数据库的日志空间使用信息
DBCC SQLPERF(LOGSPACE)
GO
--显示数据库的信息
exec sp_helpdb dbname
GO
--显示表的信息
sp_help tb_name
--仅显示表的列信息
sp_MShelpcolumns tb_name

--统计SQLSERVER用户数据表大小
exec sp_spaceused tb_name
GO

--查看表的索引
sp_helpindex tb_name

--统计SQLSERVER所有用户数据表大小
exec sp_MSforeachtable "exec sp_spaceused '?'"
GO
--数据库大小查询
exec sp_spaceused tb_name
GO

--创建非聚集索引
create index i_tbname_fieldname on tb_name(fieldName)
--创建聚集索引(主键) 
create clustered index  pk_id  on tb_name(id)

--非常占用资源,慎用.检查数据库
DBCC CHECKDB
--在修复前一定要改成单用户模式,修复后一定要改回来
EXEC sp_dboption 'db_Name''single user''TRUE'

------修复数据库对行和页进行分配和取消分配以改正分配错误、结构行或页的错误,
--
-------以及删除已损坏的文本对象。这些修复可能会导致一些数据丢失。
dbcc checkdb('db_Name',repair_allow_data_loss)

----修复数据库索引
--
--包括需要较长时间的修复(如重建索引)。执行这些修复时不会有丢失数据的危险。
dbcc checkdb ('db_Name',REPAIR_REBUILD)
dbcc checkdb ('db_Name',repair_fast)
--在修复完成后一定要执行
EXEC sp_dboption 'db_Name''single user','FALSE'  --一定要执行

--可以通过DBCC SHOWCONTIG来确定是否需要重构表的索引
dbcc showcontig('tb_name')

--如果碎片比较多,则重建表索引
dbcc dbreindex('db_Name.dbo.tb_name','',90)


上一篇:java泛型学习3之类型参数的限制


下一篇:B表中的pid对应A表中id,查询A表中数据,根据b表中对应a表中该id的数据数目排序