博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Sybase IQ数据库索引
阅读量:5055 次
发布时间:2019-06-12

本文共 1131 字,大约阅读时间需要 3 分钟。

    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)

 

转载于:https://www.cnblogs.com/sumuncle/p/4346411.html

你可能感兴趣的文章
使用git将项目上传到github
查看>>
Sqlite-SQLiteHelper类,操作SQLite数据库
查看>>
WPF中进度条控件在后台控制进度
查看>>
如何做高可用的架构设计
查看>>
python3 练习题100例 (一)
查看>>
多行字符串,引号与反引号
查看>>
(转载)Java基础知识总结
查看>>
自动类型转换
查看>>
三维地理信息平台介绍与比较
查看>>
hard(2018.10.18)
查看>>
Mongo连接池操纵MongoOptions
查看>>
UVA 11609 Teams 组合数学+快速幂
查看>>
UVA - 1401 Remember the Word trie+DP
查看>>
1004. Counting Leaves (30)
查看>>
MyBatis的SQL语句映射文件详解
查看>>
高精加
查看>>
线性回归
查看>>
TCP、UDP以及HTTP的简单讲解
查看>>
Python学习之路-24 (面向对象Python2.7类继承)
查看>>
数据挖掘概念杂记
查看>>