SQL2008R2的 遍历所有表更新统计信息 和 索引重建

【2.以下是更新统计信息】

复制代码
 DECLARE UpdateStatisticsTables CURSOR READ_ONLY FORSELECT sst.name,Schema_name(sst.schema_id)FROM   sys.tables sstWHERE  sst.TYPE = 'U'DECLARE @name   VARCHAR(80),@schema VARCHAR(40)OPEN UpdateStatisticsTablesFETCH NEXT FROM UpdateStatisticsTables INTO @name, @schemaWHILE ( @@FETCH_STATUS <> -1 )BEGINIF ( @@FETCH_STATUS <> -2 )BEGINDECLARE @sql NVARCHAR(1024)SET @sql='UPDATE STATISTICS ' + Quotename(@schema)+'.' + Quotename(@name)EXEC Sp_executesql @sqlENDFETCH NEXT FROM UpdateStatisticsTables INTO @name, @schemaENDCLOSE UpdateStatisticsTablesDEALLOCATE UpdateStatisticsTablesGO
复制代码

 

UPDATE STATISTICS tblCompany  -- 表名
USE tblCompany; -- 数据库名
EXEC sp_updatestats -- 更新所有表统计信息

 

 

 

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

【1.以下是索引重建】 

 

摘自: http://www.cnblogs.com/shijun/archive/2012/04/21/2461737.html

 

项目升级数据库由SQL2000升级到2008R2,今天对数据库表进行碎片扫描,发现有些表碎片较大,于是决定重建索引,联机帮助是最好的老师,将相关脚本摘录备后查。

参考sys.dm_db_index_physical_stats

 

复制代码
SELECTOBJECT_NAME(object_id) as objectname,object_id AS objectid,index_id AS indexid,partition_number AS partitionnum,avg_fragmentation_in_percent AS fra
FROM sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL , NULL, 'LIMITED')
WHERE avg_fragmentation_in_percent > 10.0 AND index_id > 0;
复制代码

 

 

使用脚本中的 sys.dm_db_index_physical_stats 重新生成或重新组织索引 (来源于联机帮助

 

复制代码
SET NOCOUNT ON;
DECLARE @objectid int;
DECLARE @indexid int;
DECLARE @partitioncount bigint;
DECLARE @schemaname nvarchar(130); 
DECLARE @objectname nvarchar(130); 
DECLARE @indexname nvarchar(130); 
DECLARE @partitionnum bigint;
DECLARE @partitions bigint;
DECLARE @frag float;
DECLARE @command nvarchar(4000); 
-- Conditionally select tables and indexes from the sys.dm_db_index_physical_stats function 
-- and convert object and index IDs to names.
SELECTobject_id AS objectid,index_id AS indexid,partition_number AS partitionnum,avg_fragmentation_in_percent AS frag
INTO #work_to_do
FROM sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL , NULL, 'LIMITED')
WHERE avg_fragmentation_in_percent > 10.0 AND index_id > 0;-- Declare the cursor for the list of partitions to be processed.
DECLARE partitions CURSOR FOR SELECT * FROM #work_to_do;-- Open the cursor.
OPEN partitions;-- Loop through the partitions.
WHILE (1=1)BEGIN;FETCH NEXTFROM partitionsINTO @objectid, @indexid, @partitionnum, @frag;IF @@FETCH_STATUS < 0 BREAK;SELECT @objectname = QUOTENAME(o.name), @schemaname = QUOTENAME(s.name)FROM sys.objects AS oJOIN sys.schemas as s ON s.schema_id = o.schema_idWHERE o.object_id = @objectid;SELECT @indexname = QUOTENAME(name)FROM sys.indexesWHERE  object_id = @objectid AND index_id = @indexid;SELECT @partitioncount = count (*)FROM sys.partitionsWHERE object_id = @objectid AND index_id = @indexid;-- 30 is an arbitrary decision point at which to switch between reorganizing and rebuilding.IF @frag < 30.0SET @command = N'ALTER INDEX ' + @indexname + N' ON ' + @schemaname + N'.' + @objectname + N' REORGANIZE';IF @frag >= 30.0SET @command = N'ALTER INDEX ' + @indexname + N' ON ' + @schemaname + N'.' + @objectname + N' REBUILD';IF @partitioncount > 1SET @command = @command + N' PARTITION=' + CAST(@partitionnum AS nvarchar(10));EXEC (@command);PRINT N'Executed: ' + @command;END;-- Close and deallocate the cursor.
CLOSE partitions;
DEALLOCATE partitions;-- Drop the temporary table.
DROP TABLE #work_to_do;
GO
复制代码

转载于:https://www.cnblogs.com/tohen/p/7511651.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/268434.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机语言up,TweakBit PCSpeedUp

&#xfeff;TweakBit PCSpeedUp是一款深层次的pc系统优化软件&#xff0c;它可以帮你深度清理电脑系统&#xff0c;扫描系统中的重复、缓存文件并帮你清理这些占用空间的东西&#xff0c;让你的系统解放出来&#xff0c;运行速度更快&#xff0c;更高效。软件介绍&#xff1a;…

mysql五-1:单表查询

一 介绍 本节内容: 查询语法 关键字的执行优先级 简单查询 单条件查询:WHERE 分组查询:GROUP BY HAVING 查询排序:ORDER BY 限制查询的记录数:LIMIT 使用聚合函数查询 使用正则表达式查询 company.employee员工id id int 姓名 emp_na…

ST、SC、FC、LC光纤接头区别

ST、SC、FC、LC光纤接头区别ST、SC、FC光纤接头是早期不同企业开发形成的标准&#xff0c;使用效果一样&#xff0c;各有优缺点。 ST、SC连接器接头常用于一般网络。ST头插入后旋转半周有一卡口固定&#xff0c;缺点是容易折断&#xff1b;SC连接头直接插拔&#xff0c;使用很方…

计算机部分选择怎么操作,计算机基础试题选择题部分

计算机基础试题选择题部分《计算机基础》选择题1、世界上第一台电子计算机研制成功的时间是___________。 A、1936 B、1956 C、1946 D、19752、世界上第一台电子数字式计算机的____________。 A、ENDAC B、ENIAC C、UNIVAC D、EDVAC3、被称为计算机之父的是__________。 A、艾伦…

查看apk包名和Activity的方法

使用adb shell dumpsys window | findstr mCurrentFocus 命令查看当前运行的包名和Activity 包名&#xff1a;com.mymoney Activity:com.mymoney.ui.main.MainActivity 转载于:https://www.cnblogs.com/Bella-fu/p/7516056.html

图片防盗链

using System;using System.Web;/// <summary>/// ImageProtect 的摘要说明/// </summary>public class ImageProtect : IHttpHandler{ public ImageProtect() { // // TODO: 在此处添加构造函数逻辑 // } public void ProcessRe…

计算机系统组成图表,Excel2013中的图表作用组成类型与认识(上)——想象力电脑应用...

在Excel工作表中&#xff0c;当我们查看数据的时候&#xff0c;只用表格来表示的话&#xff0c;是很难清楚的看出数据大小与数据关系的&#xff0c;当我们用图表来展示效果的时候&#xff0c;就会有更好的视频效果&#xff0c;更能展示数据的关系&#xff0c;还 可以通过图表中…

Kali Linux 下渗透测试 | 3389 批量爆破神器 | hydra | 内网渗透测试

kali linux 下渗透测试&#xff0c;3389 批量爆破神器 hydra -M target.txt rdp -L userlist.txt -P passwordlist.txt -V rootkali:~# hydra -h Hydra v8.3 (c) 2016 by van Hauser/THC - Please do not use in military or secret service organizations, or for illegal pur…

inode directory

转载于:https://blog.51cto.com/wangwx/203837

计算机系统组装 维护常用工具及其作用,《计算机系统组装维护》课程实用标准.doc...

实用文案标准《维修电工实训B》课程标准课程代码课程类别专业课程课程类型实践课程课程性质必修课程课程学分2学分课程学时40学时修读学期第1学期适用专业计算机合作开发企业执笔人费化林审核人1.课程定位与设计思路1.1课程定位《计算机组装与维护》课程对应于计算机维修员&…

Wampserver之 virtualHost

鼓捣了 一天 显示 各种 百度&#xff0c; 1。 httpd-conf: 中 最后 #Include conf/extra/httpd-vhosts.conf # 去掉 2. httpd-vhosts.conf : 照样 复制&#xff0c;改 servername 如 test.test.com DocumentRoot "d:/wamp/www/myj"       <Dire…

Flex 全屏问题

今天上午遇到FLEX全屏报错的问题&#xff1a;SecurityError: Error #2152: 不允许使用全屏模式。 上网搜了一下&#xff0c;解决了问题。参考&#xff1a;http://hi.baidu.com/fanglor/blog/item/068e7bfc3c793b84b801a07a.html 转载如下&#xff1a; MXML&…

数学三次方的计算机符号,数学符号三次方

问题转化为数学问题,小卧室的地面是长方形,把小卧室的面积转化为求长方形的面积;接着启发学生借 助学具来研究。教材提供了三种探究长方形面积的方法:一是摆一摆,数一数,用 1平方厘米的正方形把 长方形铺满,通过数出一共用了多少个小正方形,求出长方形的面积;二是摆一摆,算一算…

网速提高学习周——系统篇

主要是对网卡和协议进行配置&#xff0c;网卡的作用就是把网线传输过来的数据帧进行拆包&#xff0c;或者对发送出去的数据帧进行封装运送。网卡的设置好坏直接影响了数据处理速度&#xff0c;间接影响了上网速度。右击“网上邻居”属性——右击“本地连接”属性&#xff0c;进…

matplotlib 第二次执行报错在 django web服务中

报错内容如下&#xff1a; Exception RuntimeError: RuntimeError(main thread is not in main loop,) in <bound method PhotoImage.__del__ of < Tkinter.PhotoImage instance at 0x7f347192b5a8>> ignored 解决方法&#xff1a;最代码最顶层加&#xff1a; impo…