索引的空间开销

索引的第一项成本是磁盘空间。 使用索引会向数据库空间添加很多页,在一个索引表中,很容易出现索引页和行页一样多的情形。 此外,在使用多种语言的环境中,为每种语言创建的索引需要附加磁盘空间。

当您考虑空间成本时,还请考虑在环境中增大标准或临时数据库空间的页大小是否有利。如果您想要更长的密钥长度(比缺省页大小可提供的长度长),那么可以增大页大小。如果增大页大小,那么此大小必须是缺省页大小的整数倍,且不大于 16 K 字节。

如果应用程序包含大小较小的行,那么您可能不希望增大页大小。对于随机访问小行的应用程序,增大页大小可能会降低性能。此外,较大页的页锁还会锁定更多的行,这在某些情况下可降低并发性。

您可以通过压缩分离的 B 型树索引、整合索引中的可用空间并将该可用空间返还给数据库空间来节省磁盘空间。