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

dB2 索引相关的更多相关文章

  1. DB2 索引(2)

    最近研究了一点DB2索引相关的东西,做一个总结: (1)在作为主键的列上,强制该列的唯一性和组织表中数据的排列结构: (2)在经常用连接的列(join)上建索引,这些列主要是一些外键,可以加快连接的速 ...

  2. MongoDB 索引相关知识

    背景: MongoDB和MySQL一样,都会产生慢查询,所以都需要对其进行优化:包括创建索引.重构查询等.现在就说明在MongoDB下的索引相关知识点,可以通过这篇文章MongoDB 查询优化分析了解 ...

  3. mysql 索引相关

    引言: MYSQL由于其免费和开源的性质,在项目中用处广泛.大家都知道,一个MySQL数据库能够储存大量的数据,如果要在大量的数据中查找某一个数据,如果使用全表检索的话,即费时间又费力气,这时,就需要 ...

  4. mysql数据库索引相关

    一 介绍 什么是索引? 索引在MySQL中也叫做“键”,是存储引擎用于快速找到记录的一种数据结构.索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要.索引优化应该是 ...

  5. MySQL源码:索引相关的数据结构

    http://www.orczhou.com/index.php/2012/11/mysql-source-code-data-structure-about-index/ 本文将尝试介绍MySQL索 ...

  6. SQL Server,Oracle,DB2索引建立语句的对比

    原文引至:http://jvortex.blog.163.com/blog/static/16961890020122141010878/ 我们知道,索引是用于加速数据库查询的数据库对象.原理就是减少 ...

  7. 面试小知识:MySQL索引相关

    前言 本模板主要是一些面试相关的题目,对于每一道问题,我会提供简单的解答,答案的来源主要是基于自己看了各方资料之后的理解,如果有错的,欢迎指点出来. 1. 什么是最左前缀原则? 以下回答全部是基于My ...

  8. MongoDB索引相关文章-摘自网络

    索引类型 虽然MongoDB的索引在存储结构上都是一样的,但是根据不同的应用层需求,还是分成了唯一索引(unique).稀疏索引(sparse).多值索引(multikey)等几种类型. 唯一索引 唯 ...

  9. 【mysql】索引相关的个人总结

    重点参考: MySQL索引原理及慢查询优化 (美团技术分享网站):原理.示例优化都写的很好. 索引很难么?带你从头到尾捋一遍MySQL索引结构,不信你学不会!:原理写的很好. [从入门到入土]令人脱发 ...

随机推荐

  1. spring: @RequestMapping注解

    处理GET/POST请求方法 1.常用的: import org.springframework.web.bind.annotation.RequestMapping; @Controller pub ...

  2. ultraedit使用记录

    ultraedit使用记录 10:57:33 在日常的工作中,我经常用keil进行程序的编写等工作,不过在编写过程中Keil对中文的支持不是很好,容易发生问题:同事推荐我用ultraedit进行程序的 ...

  3. Python基础学习(第8天)

    先补充些iter函数的用法:iter()其实就是一个迭代器,参数可传个list.dict等等,然后可通过调用next函数获取下一个元素,默认并未指向对象的第一个元素,可理解为指向了第一个元素的前面的位 ...

  4. PostgreSQL full_page_write记录

    PostgreSQL 在 checkpoint 之后在对数据页面的第一次写的时候会将整个数据页面写到 xlog 里面. 当出现主机断电或者OS崩溃时,redo操作时通过checksum发现“部分写”的 ...

  5. linux中的阻塞机制及等待队列

    阻塞与非阻塞是设备访问的两种方式.驱动程序需要提供阻塞(等待队列,中断)和非阻塞方式(轮询,异步通知)访问设备.在写阻塞与非阻塞的驱动程序时,经常用到等待队列. 一.阻塞与非阻塞 阻塞调用是没有获得资 ...

  6. 看过自会理解, Photon Server 常见概念分析.

    http://stackoverflow.com/questions/10823915/photon-server-newbie-questions/11653419#11653419 Channel ...

  7. asp.net viewstate 数据大导致错误

    当在ViewState中放入dataSet的数据量比较大的时候,当再点页面上的控件时,不会返回到后台,并且会出现如下错误: 或者是上面的12030改成500的错误. --解决方法:Viewstate绑 ...

  8. v-if和v-show的区别

    v-if 是“真实”的条件渲染,因为它会确保条件块(conditional block)在切换的过程中,完整地销毁(destroy)和重新创建(re-create)条件块内的事件监听器和子组件. v- ...

  9. freemarket使用自定义标签 注解【项目实际使用】

    页面达到效果 [主html页面代码] <!-- 合作单位 版块 -->[#include 'inc_project_succ_coo.html'/]['inc_project_succ_c ...

  10. ASP.NET中服务器控件的生命周期

    服务器控件的生命周期是创建服务器控件最重要的概念.作为开发人员,必须对服务器控件生命周期深刻理解.当然,这不是一朝一夕就可以做到的.对于学习控件开发技术的初学者,可以不必掌握得非常详细深入,只需对服务 ...