日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

索引加速

更新時間: 2024-03-13 18:32:38

本文主要介紹云數(shù)據(jù)庫 SelectDB 版中內(nèi)建的智能索引以及使用時的注意事項。

背景信息

索引用于快速過濾或查找數(shù)據(jù)。目前云數(shù)據(jù)庫 SelectDB 版主要支持兩類索引:

ZoneMap索引

ZoneMap索引是在列存格式上,對每一列自動維護的索引信息,包括Min/Max,Null值個數(shù)等等。這種索引由云數(shù)據(jù)庫 SelectDB 版自動創(chuàng)建維護

前綴索引

不同于傳統(tǒng)的數(shù)據(jù)庫設(shè)計,云數(shù)據(jù)庫 SelectDB 版這類 MPP 架構(gòu)的 OLAP 數(shù)據(jù)庫,一般通過提高并發(fā)來處理大量數(shù)據(jù)。同時可結(jié)合一些索引結(jié)構(gòu),來加速查詢性能。

SelectDB的數(shù)據(jù)存儲在類似SSTable(Sorted String Table)的數(shù)據(jù)結(jié)構(gòu)中。該結(jié)構(gòu)是一種有序的數(shù)據(jù)結(jié)構(gòu),可以按照指定的列進行排序存儲。在這種數(shù)據(jù)結(jié)構(gòu)上,以排序列作為條件進行查找,會非常的高效。

在Aggregate、Unique和Duplicate三種數(shù)據(jù)模型中,底層的數(shù)據(jù)存儲是按照各自建表語句中AGGREGATE KEY、UNIQUE KEY和DUPLICATE KEY里指定的列進行排序存儲的。而前綴索引,即在排序的基礎(chǔ)上,實現(xiàn)的一種根據(jù)給定前綴列,快速查詢數(shù)據(jù)的索引方式。

使用示例

將一行數(shù)據(jù)的前36個字節(jié)作為這行數(shù)據(jù)的前綴索引。當遇到VARCHAR類型時,前綴索引會直接截斷,示例如下。

  1. 以下表結(jié)構(gòu)的前綴索引為user_id(8 Bytes)+age(4 Bytes)+message(prefix 20 Bytes)

    ColumnName

    Type

    user_id

    BIGINT

    age

    INT

    message

    VARCHAR(100)

    max_dwell_time

    DATETIME

    min_dwell_time

    DATETIME

    當查詢條件是前綴索引的前綴時,可以極大的加快查詢速度。執(zhí)行如下查詢語句。

    示例一:

    SELECT * FROM table WHERE user_id=1829239 and age=20;

    示例二:

    SELECT * FROM table WHERE age=20;

    示例一的查詢速度會遠高于示例二的查詢速度。所以在建表時,正確的選擇列順序,能夠極大地提高查詢效率。

  2. 以下表結(jié)構(gòu)的前綴索引為user_name(20 Bytes),即使沒有達到36個 Bytes。遇到VARCHAR,所以直接截斷,不再往后繼續(xù)。

    ColumnName

    Type

    user_name

    VARCHAR(20)

    age

    INT

    message

    VARCHAR(100)

    max_dwell_time

    DATETIME

    min_dwell_time

    DATETIME

通過物化視圖來調(diào)整前綴索引

建表時已經(jīng)指定了列順序,所以一個表只有一種前綴索引。這對于使用其他不能命中前綴索引的列作為條件進行的查詢來說,效率上可能無法滿足需求。因此,可以通過創(chuàng)建物化視圖來調(diào)整列順序進而調(diào)整前綴索引,詳情請參見物化視圖

上一篇: 物化視圖 下一篇: 倒排索引