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 ‰。

  • 相关阅读:
    CharacterEncodingFilter详解及源码解析
    SPI 串行Flash闪存W25Q128FV 的使用(STM32F407)_硬件篇
    STM32 TFT LCD
    什么叫状态机:按键消抖实例
    STM32 ADC单通道采集 (STM32F103C8T6 ADC1的0通道 )
    STM32 PWM输出 (STM32F103C8T6 TIM2_CH2 )
    STM32 多通道ADC连续采集之数据到内存 DMA传输
    STM32 DAM之串口通讯
    STM32定时器之PWM 4路输出 TIM3、TIM14
    STM32定时器 TIM14之PWM 可调脉宽输出 呼吸灯
  • 原文地址:https://www.cnblogs.com/liufei1983/p/9671716.html
Copyright © 2011-2022 走看看