|
如何和何时使用Oracle9i的位图合并索引广告 如何和何时使用Oracle9i的位图合并索引 Oracle9i已经把位图合并索引添加到其令人难以置信的表格合并方法数组里了。这个新的表格访问方法需要你创建一个索引,它能在索引被创建时进行合并,还能创建一个合并所要使用的键的位图索引。但是和大多数关系型数据库的索引不同,被索引的数据列并不驻留在表格内。Oracle通过允许在索引创建句法里包括WHERE子句而彻底革新了索引的创建方法。这个特性是通过SQL访问关系型表格的方法大变革。 位图合并索引对涉及低基数数据列(例如少于300个不同值的数据列)的表格合并是极其有用的。但是位图合并索引并不是在所有情况下都是有用的。你不应该将它们用于OLTP数据库,因为和更新位图索引相关的开销太大了。让我们更加仔细地看看这种类型的索引是如何工作的。 位图合并索引是如何工作的 图A Oracle表格的多对多关系 在这个例子里,我会假设数据库里有300种类型的部件,供应商从(美国)全部50个州提供部件。所以在State数据列里有50个不同的值,而在Part_type数据列里只有300个不同的值。 要注意在图A里,我们使用Supplier和Part表格所包含的数据列在Inventory里创建了一个索引。位图合并索引所隐含的主旨是预合并低基数数据列,从而让整个合并更加迅速。 众所周知,位图索引能够改善Oracle9i查询的性能,这些查询里的动词要涉及到低基数数据列,但是这个技术从来都不会被用在低基数数据列驻留在外来表里的情况下。 要创建一个位图合并索引,使用以下Oracle DDL:(注意CREATE INDEX句法里所包括的FROM和WHERE子句) create bitmap index Select supplier_name 注意这个位图合并索引指定了这三个表格合并的标准,并使用Part_type和State键在交叉表格(Inventory)上创建了一个位图索引(图A)。 Oracle基准声明位图合并索引能够以比传统索引方法快七倍的速度运行一个查询。但是,这个速度的提升还依赖于许多因素,位图合并也不是万能药。使用位图合并索引的几点限制是: 被索引的数据列必须是低基数的——通常只有不到300个不同的值。 记住:位图合并索引能够极大地提高特定数据仓的查询速度,但是其代价是在位图索引创建的时候要预合并表格。你还必须要注意大量的更新。在表格的数据变更时,位图索引的更改是相当慢的,这会严重地降低目标表格INSETT和UPDATE
DML。
Select supplier_name 如果您希望与本文章的作者或其所在机构,进一步交流,请联系:畅享网 姜小姐 jill.jiang@amteam.org | 021-51096826-112 | 在线联系 |
节能与优化IT 企业CIO过冬良策当前金融危机的影响还在继续漫延,很多企业都在苦寻过冬的良策,在这种情况下,节能与优化技术与产品无疑成为CIO们关注的首要对象,本次选题就是针对节能与优化IT来为CIO们提供过冬的良…… |
|
|