IQ是Sybase公司推出的特别为数据仓库、决策支持分析、数据分析/挖掘等查询分析密集型应用而设计的关系型数据库。IQ的架构与大多数关系型数据库不同,它特别的设计用以支持大量并发用户的即席查询、统计分析。其设计目标首先考虑查询性能,其次是完成批量数据更新的速度。而传统关系型数据库引擎的设计侧重考虑在线的事务处理。

IQ数据库采用列存储数据,而不是按行,它的每张表是一组相互独立的页链的集合,每一页链存储表中的一列。所以有50 列的表将有50 条相互独立的页链,每一列都有一条页链与之对应,而不是象其他数据库引擎,一张表对应一条页链。所以当IQ查询所需要的列时,只针对所需的列进行扫面,而不需扫描全表。

IQ采用位图索引(针对低基数)和Bit Wise索引(针对高基数数据的查询,包含聚合运算和WHERE 子句中的范围谓词)技术,用以减少给定查询或更新的工作量,在数据统计、挖掘具有高度的非选择性上,有很高的优越性。

IQ目前的索引类型:

1、Fast Projection Indexes (FP):该索引就是简单的存储列本身,也是IQ的缺省索引。如果你认为常常需要读取某列完整的数据,那么你可以无须定义任何索引。

2、Low Fast Indexes (LF):该索引针对低基数的列使用一个称为‘编码’的方法。这对减少数据冗余非常有效。编码尤其适用于大量重复的数据。该方法典型的适用于取值范围<1500的低基数列。

3、High Non Group Index (HNG):对于基数超过1500的列,Sybase使用专利的索引技术——Bit Wise索引。该索引在你需要联合使用范围搜索与计算时尤为有效。例如查询“英语大于90分的总成绩”,正如各类位图索引,该方法的优势之一就是,运算查询可以直接由索引得到结果,而不需读取数据。

4、High Group Index (HG):该索引本质上是B-Tree索引。然而,其原理是你只需为那些你认为可能使用“group”操作的列定义索引,尤其是在你需要联合使用低基数与高基数的查询的时候。

5、Word Index (WD):该索引用于文本比较。主要用于关键词或字符串搜索。

6、Compare Index (CMP):该索引使列与列之间的比较更加高效。

7、Join Index:正如其名,该索引用于处理表连接的查询。正像已支持的大量索引一样,该索引在索引需求能够被预测时最为有效。

创建索引语句:如创建HNG索引:Create HNG Index ShipIx on dbl.Sales(ShipDate)

最新文章

  1. RHEL 5.7 Yum配置本地源[Errno 2] No such file or directory
  2. CSS的class、id、css文件名的常用命名规则
  3. iOS核心动画学习整理
  4. Java中类型的长度
  5. Java for LeetCode 047 Permutations II
  6. Ubuntu进不去,显示error:unknown filesystem (最简单解决方案总结)
  7. Revit二次开发示例:DisableCommand
  8. 【转】github更新自己Fork的代码
  9. leetcode 14
  10. WCF的行为与异常-------配置文件说明
  11. 论游戏中Buff的实现 [转]
  12. sql 数据库 庞大数据量 需要分表
  13. 供求WAP-VUE 笔记
  14. 关于windows下的文件结束符
  15. python 如何注释
  16. MongoDB(课时26 聚合(取的集合个数))
  17. stacking
  18. PLSQL事务
  19. sklearn中预测模型的score函数
  20. 用nw.js开发markdown编辑器-已完成功能介绍

热门文章

  1. 在Java 线程中返回值的用法
  2. hdu_5044_Tree(树链剖分)
  3. hdu_5680_zxa and set(想法题)
  4. 在C#中使用反射调用internal的方法
  5. 遭遇mediumint上限
  6. 去掉uitableveiw多余的分割线
  7. Eclipse 安装 HDFS 插件
  8. Chrome不支持showModalDialog模态对话框和无法返回returnValue的问题
  9. HP ProLiant DL380 G6 服务器 - 清 BIOS 的方法
  10. 【转】4G手机打电话为什么会断网 4G上网和通话不能并存原因分析