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; 
  • 相关阅读:
    微信小程序登入实现
    CacheLab实验--深入了解计算机系统实验
    power designer的物理数据模型生成数据字典。
    PowerDesigner15在生成SQL时报错Generation aborted due to errors detected during the verification of the mo
    Mac系统下,如何申请并安装教育版Navicat
    Mac下修改Mysql密码
    数组
    AbstractList源码阅读
    List源码阅读笔记
    AbstractCollection源码阅读笔记
  • 原文地址:https://www.cnblogs.com/albertay/p/6737720.html
Copyright © 2011-2022 走看看