zoukankan      html  css  js  c++  java
  • Sql Server索引重建

    公司线上数据有几千万数据,有时候索引碎片会导致索引达不到我们的预期查询效率,这个时候将索引重建将会提升一定效率,不过重建的时候一定得晚上用户少的时候,索引重建需要一定时间。

    直接贴自动重建索引脚本吧

     1 DECLARE @Database VARCHAR(255);  
     2 DECLARE @Table VARCHAR(255);  
     3 DECLARE @cmd NVARCHAR(500);  
     4 DECLARE @fillfactor INT;
     5 SET @fillfactor = 90;
     6 DECLARE DatabaseCursor CURSOR
     7 FOR
     8     SELECT  name
     9     FROM    master.dbo.sysdatabases
    10     WHERE   name IN ( 'ChemicalInfo_ALLFULL_New' )
    11     ORDER BY 1;  
    12 OPEN DatabaseCursor;  
    13 FETCH NEXT FROM DatabaseCursor INTO @Database;  
    14 WHILE @@FETCH_STATUS = 0
    15     BEGIN  
    16         SET @cmd = 'DECLARE TableCursor CURSOR FOR SELECT ''['' + table_catalog + ''].['' + table_schema + ''].['' +
    17   table_name + '']'' as tableName FROM [' + @Database
    18             + '].INFORMATION_SCHEMA.TABLES
    19   WHERE table_type = ''BASE TABLE''';  
    20    -- create table cursor  
    21         EXEC (@cmd);  
    22         OPEN TableCursor;  
    23         FETCH NEXT FROM TableCursor INTO @Table;  
    24         WHILE @@FETCH_STATUS = 0
    25             BEGIN  
    26                 IF ( @@MICROSOFTVERSION / POWER(2, 24) >= 9 )
    27                     BEGIN
    28            -- SQL 2005 or higher command
    29                         SET @cmd = 'ALTER INDEX ALL ON ' + @Table
    30                             + ' REBUILD WITH (FILLFACTOR = '
    31                             + CONVERT(VARCHAR(3), @fillfactor) + ')';
    32                         EXEC (@cmd);
    33                     END;
    34                 ELSE
    35                     BEGIN
    36           -- SQL 2000 command
    37                         DBCC DBREINDEX(@Table,' ',@fillfactor);  
    38                     END;
    39                 FETCH NEXT FROM TableCursor INTO @Table;  
    40             END;  
    41         CLOSE TableCursor;  
    42         DEALLOCATE TableCursor;  
    43         FETCH NEXT FROM DatabaseCursor INTO @Database;  
    44     END;  
    45 CLOSE DatabaseCursor;  
    46 DEALLOCATE DatabaseCursor; 
  • 相关阅读:
    centos7.6 安装与配置 MongoDB yum方式
    MongoDB 介绍
    centos 关闭selinux
    前端 HTML标签属性
    前端 HTML 标签嵌套规则
    前端 HTML 标签分类
    前端 HTML body标签相关内容 常用标签 表单标签 form里面的 input标签介绍
    前端 HTML body标签相关内容 常用标签 表单标签 form 表单控件分类
    前端 HTML form表单标签 select标签 option 下拉框
    POJ 1426
  • 原文地址:https://www.cnblogs.com/albertay/p/6737720.html
Copyright © 2011-2022 走看看