zoukankan      html  css  js  c++  java
  • dB2 索引相关

    ALTER TABLE "XXXX"."tableA" PCTFREE 20 ;

    CREATE INDEX "schema"."XXXX_INDEX" ON "XXX"."TABLE"
    ("columnA" ASC)
    COMPRESS YES
    INCLUDE NULL KEYS ALLOW REVERSE SCANS ;

    PCTFREE : pctfree 标示要留多少空间,一般默认参数是20,表示留20%
    即当块里的数据达到80%里,就不会往这个块里写新数据.pctfree 20 --块保留20%的空间留给更新该块数据使用


    compress YES : 当我们的系统中数据量很大,IO 需求超过了磁盘系统提供的容量(即 IO 成为系统的瓶颈)时,行压缩技术能够有效的减少读写磁盘的次数。
    DB2 9.7 更进一步提出了索引压缩技术,减少索引磁盘空间的占用,减少读取索引时的 IO 次数从而提高了性能.

    ALLOW REVERSE SCANS: 尽管当在 CREATE INDEX 语句中指定了 ALLOW REVERSE SCANS 参数时可以按逆向方向搜索值,但是,执行按指定索引顺序的扫描比执行逆向扫描稍微更快一些。这是DB2 V8的规定,DB2 V9默认情况下就是ALLOW REVERSE SCANS

    INCLUDE NULL KEYS : 可以给空值建索引。

    聚簇索引: DB2可以建立聚簇索引。
    DB2索引实现是一个B+树。

    创建索引的目的还有一个就是保证数据唯一性,可以利用”CREATE UNIQUE INDEX <INDEX_NAME> ON <TABLENAME> (<COLNAME>)”,来完成。

    主键会隐式创建索引,所以请不要在主键上创建索引浪费空间。


    具有大量重复数据的列上不要创建索引。在大量重复的列上创建索引没有任何意义。如下数据结构:表中字段col1有大量重复数据,其中的数据分布是按照90%的Y,和10%的N来分布。
    这样的列上创建索引没有任何意义。在查询条件为col1=‘Y’时,该表的索引扫描和表扫描没有特大差异。根据实践经验,列上的数据分布应该均匀,并且抽密度不能大于5 ‰。

  • 相关阅读:
    Daily Scrum 11.20
    Daily Scrum 11.19
    Daily Scrum 11.18
    Daily Scrum 11.17
    Daily Scrum 11.16
    Daily Scrum 11.15
    Loj10222佳佳的 Fibonacci
    CH3801Rainbow的信号
    js仓库。。。
    【UVa1635】Irrelevant Elements
  • 原文地址:https://www.cnblogs.com/liufei1983/p/9671716.html
Copyright © 2011-2022 走看看