Sybase IQ數據庫索引


    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)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM