zoukankan      html  css  js  c++  java
  • SQLServer数据库维护(一)碎片检查整理

    一、碎片查看维护

    dbcc showcontig('表名')
    dbcc showcontig ('T_NOFITSTUDY')

     结果如下:

    DBCC SHOWCONTIG 正在扫描 'T_NOFITSTUDY' 表...
    表: 'T_NOFITSTUDY' (2078630448);索引 ID: 1,数据库 ID: 7
    已执行 TABLE 级别的扫描。
    - 扫描页数................................: 1
    - 扫描区数..............................: 1
    - 区切换次数..............................: 0
    - 每个区的平均页数........................: 1.0
    - 扫描密度 [最佳计数:实际计数].......: 100.00% [1:1]
    - 逻辑扫描碎片 ..................: 0.00%
    - 区扫描碎片 ..................: 0.00%
    - 每页的平均可用字节数........................: 8094.0
    - 平均页密度(满).....................: 0.00%
    DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
    碎片处理的指标:
    ①如果逻辑扫描碎片超过20%就要对数据库进行处理
    ②扫描密度 [最佳计数:实际计数]如果小于80%就要对数据库进行碎片处理
    区扫描碎片超过20%


    对于碎片的解决办法

        基本上所有解决办法都是基于对索引的重建和整理,只是方式不同

        1.删除索引并重建

           这种方式并不好.在删除索引期间,索引不可用.会导致阻塞发生。而对于删除聚集索引,则会导致对应的非聚集索引重建两次(删除时重建,建立时再重建).虽然这种方法并不好,但是对于索引的整理最为有效

        2.使用DROP_EXISTING语句重建索引

           为了避免重建两次索引,使用DROP_EXISTING语句重建索引,因为这个语句是原子性的,不会导致非聚集索引重建两次,但同样的,这种方式也会造成阻塞

        3.使用ALTER INDEX REBUILD语句重建索引

           使用这个语句同样也是重建索引,但是通过动态重建索引而不需要卸载并重建索引.是优于前两种方法的,但依旧会造成阻塞。可以通过ONLINE关键字减少锁,但会造成重建时间加长.

        4.使用ALTER INDEX REORGANIZE

           这种方式不会重建索引,也不会生成新的页,仅仅是整理,当遇到加锁的页时跳过,所以不会造成阻塞。但同时,整理效果会差于前三种.

     







  • 相关阅读:
    Kafka原理与java simple producer示例
    【转载】kafka的工作原理
    Python 基本类型转换
    hadooop2.6 job pending research
    记一次zookeeper集群搭建错误的排除
    Apache Drill Install and Test
    Linux或Unix环境利用符号链接升级Maven
    Android之Linearlayouy线性布局
    Effective Java Second Edition --- Builder Pattern
    java生产者/消费者模式实现——一生产者一消费者(操作值)
  • 原文地址:https://www.cnblogs.com/mobilecard/p/7141231.html
Copyright © 2011-2022 走看看