我很想知道是否有性能上的好处,即对通常是查询目标的数字列进行分区。目前我有一个包含5000万条记录的物化视图。当使用常规b-tree索引并通过这个数字列进行搜索时,我花费了大约7秒的时间和大约0.8秒的时间查询结果(使用非引导缓存)。在为该列添加全局散列分区(包含64个分区)之后,我的成本为6,查询结果约为0.2秒(再次使用非引导缓存)。全局分区索引是否比非分区索引更好(更快)?
我的第一反应是分区索引提高了我的查询性能。但是,我意识到这可能只是一个巧合,可能完全依赖于正在搜索的值或其他我不知道的值。所以我的问题是:将全局哈希分区添加到大型数据表中的数值列是否会带来性能优势,或者是确定要扫描哪些索引分区的成本 - 只需在全局范围内扫描非索引分区?
我敢肯定,像许多Oracle问题一样,可以用“依赖”来回答。 :)我有兴趣了解我应该考虑哪些因素来确定每种方法的优点。
谢谢!