欢迎投稿

今日深度:

浅析Join index,

浅析Join index,


Teradata的join index像ORACLE的物化视图(Materialized View),基本思想就是把常用的公用的join查询物化为一个实际的表。这样的好处在查询的时候,如果优化器匹配到相应的join index,则直接通过其物理表读取数据,而不是做实际的join操作。这样的代价就是在基表做insert,update和delete的时候,需要对关联的join index进行更新。这个机制和普通的索引机制完全相同,但是更新join index比更新普通索引要复杂一些,代价也高一些。


Join index最初的想法是事先对表进行join操作,只存储基表的row id,在实际join的时候从join index中取出row id,然后从基表中获取实际需要的数据。而且join index一般只是对等值查询有效。ORACLE的bitmap join index则是在此基础上做了一些改进。对事实表进行索引,对于维表中的不同值,有对应的bitmap的索引,这种索引是等值的。索引的基本结构是(rowid,value(0 or 1))。这样实际join的时候,如果有等值条件,那么直接找到对应值的bitmap索引,如果有多个等值条件,则直接进行位图操作(与或者或等),完成之后再扫描最终的join位图,根据rowid取出事实表中相关的行即可。


www.htsjk.Com true http://www.htsjk.com/teradata/35136.html NewsArticle 浅析Join index, Teradata的join index像ORACLE的物化视图(Materialized View),基本思想就是把常用的公用的join查询物化为一个实际的表。这样的好处在查询的时候,如果优化器匹配到相应的joi...
相关文章
    暂无相关文章
评论暂时关闭