关于global index、local index、global partition index的适用场景
来源:互联网 发布:命令模式入门 java 编辑:程序博客网 时间:2024/06/15 12:36
今天看到大牛们的讨论,把他们的总结记录下来,供自己参考学习。
1.一个大原则,能创建local index的尽量创建local index。无论从分区管理角度,还是查询性能local index都有优势;
2.那什么是否无法创建local index的情况呢?那就是查询条件和分区键值不符的情况,例如主键是保单号,分区键是日期,又要通过保单号查询,这种情况下,将保单号创建为global index较为适合;
3.如果主键是复合索引并且包含分区键,或者主键本身就是分区键则当然还是local index;
4.如果查询条件中包含分区键,那肯定是创建local index,因为可以使用到partition pruning技术。但local index是否一定要包含分区键则又另当别论;
5. 在Oracle文档中,一般建议OLTP系统因为查询条件变化多,单次查询数据量少,所以会较多global index;而在OLAP系统,多从维护和并行查询角度出发,建议多local index。不过从平安实际环境来看,基本上一个系统我们要全盘考虑;
以上是大的原则,在某些情况下我们可能又需要突破这些原则:
1.在数据仓库类型应用或者负载中,虽然查询没有分区键,但为了分区管理便利,而且可以使用并行查询来提升性能;
2. 在OLTP中,global index可能会导致并发竞争。为了缓解并发竞争,
在分区数量不多的情况下,可能会选择local index。虽然串行扫描多个分区会降低性能,但缓解了并发竞争的消耗,取得一个平衡;
在分区数量多的情况下,这个时候更好的选择应该是global partition index,因为如果分区过多,local index全分区扫描的性能会大幅降低,这样单次执行的时间会变长,会加剧并发竞争。
- 关于global index、local index、global partition index的适用场景
- global index & local index的区别
- global index & local index的区别
- Global Partition Index
- local|global index
- local index and global index [转]
- Use Local Or Global Index?
- oracle11.2中分区功能测试之add&split partition对global&local index的影响
- 创建查看和浅析LOCAL INDEX和GLOBAL INDEX
- 分区表的global index 和 local index 跨分区查询时的性能比较
- global temporary table index
- global temporary table index usage
- 索引分区分为:本地(局部)索引(local index) 全局索引(global index)
- DynamoDB中的二级索引(global secondary index)
- partition 对index的影响
- Index
- Index
- index
- Git--将服务器代码更新到本地
- 百度地图前端插件的获取
- C++知识点(4)
- Model
- MySql 批量更新语句
- 关于global index、local index、global partition index的适用场景
- idea debug技巧
- TPL
- 安装m4, autoconf, automake, libtool
- LayaBOX添加颜色滤镜
- 哥德巴赫猜想
- Ext.NET学习
- 蚁群算法、遗传算法、模拟退火算法介绍
- 指针指向变量的首地址