zoukankan      html  css  js  c++  java
  • 索引填充因子

    索引填充因子
     
            在创建聚集索引和非聚集索引时,表中的数据按照索引列中的值的顺序存储在数据库的
    数据页中。在表中插入新的数据行或更改索引列中的值时, SQL Server  2000  可能必须重
    新组织表中的数据存储,以便为新行腾出空间,保持数据的有序存储。向一个已满的索引页
    添加某个新行时,SQL Server  把大约一半的行移到新页中以便为新行腾出空间。这种重组
    称为页拆分
    。页拆分会降低性能并使表中的数据存储产生碎片。
    创建索引时,可以指定一个填充因子
    ,以便在索引的每个叶级页上留出额外的间隙和
    保留一定百分比的空间,供将来表的数据存储容量进行扩充和减少页拆分的可能性。填充因
    子的值是从 0  到 100  的百分比数值,指定在创建索引后对数据页的填充比例。值为 100  时
    表示页将填满,所留出的存储空间量最小。只有当不会对数据进行更改时(例如,在只读表
    中)才会使用此设置。值越小则数据页上的空闲空间越大,这样可以减少在索引增长过程中
    对数据页进行拆分的需要,但需要更多的存储空间。当表中数据会发生更改时,这种设置更
    为适当。
    提供填充因子选项是为了对性能进行微调。但是,使用 sp_configure  系统存储过程指
    定的服务器范围的默认填充因子,在大多数情况下都是最佳的选择。 
          即使对于一个面向许多插入和更新操作的应用程序来说,数据库读取次数一般也超过

    数据库写入次数的 5  到 10  倍。因此,指定一个不同于默认设置的填充因子会降低数据库
    的读取性能,而降低量与填充因子设置值成反比。
    只有当在表中根据现有数据创建新索引,并且可以精确预见将来会对这些数据进行哪些
    更改时,将填充因子选项设置为另一个值才有用。
    填充因子只在创建索引时执行;索引创建后,当表中进行数据的添加、删除或更新时,
    不会保持填充因子。如果试图在数据页上保持额外的空间,则将有背于使用填充因子的本意,
    因为随着数据的输入,SQL Server 必须在每个页上进行页拆分,以保持填充因子指定的空
    闲空间百分比。因此,如果表中的数据进行了较大的变动,添加了新数据,可以填充数据页
    的空闲空间。在这种情况下,可以重新创建索引,重新指定填充因子,以重新分布数据。
     
    请思考索引的数据结构有哪些?可否指定索引的数据结构?如果不可以,请说明为什
    么?如果可以,请说明你的操作过程或 SQL 操作。
    答:索引的数据结构有 B+树和哈希表。不可以指定索引的数据结构,这是由系统自动
    指定的。

  • 相关阅读:
    日期格式,Popup的使用方法,RenderTransform与LayoutTransform的区别
    Status 网络
    以太坊: RLP 编码原理
    Merkle Patricia Tree 梅克尔帕特里夏树(MPT)详细介绍
    【转】货币的未来取决于打破关于货币历史的虚构谎言
    区块链上的保险
    Trustlines Network:以太坊上实现 Ripple 瑞波协议
    通过 BTC Relay 来实现链与链的连接
    PoW模式下交易平均要35秒,为什么为拥堵
    使用以太坊和 Metamask 再也不需要输入密码
  • 原文地址:https://www.cnblogs.com/colder/p/2207637.html
Copyright © 2011-2022 走看看