问题描述:创建一个视图 视图中时两个大表left join 两个表都是账期分区表 在查看执行计划时 发现两个表是哈希连接。主表走了单个分区 但另一个表走的全表。到时视图的执行效率很慢
解决方法:非主表按照关联条件创建联合索引 。视图的效率就会有很大提升 原执行需要16s 增加索引后查询速率在2s 左右。
疑问:为什么非主表没有走单个分区 而是全表扫描????
问题描述:创建一个视图 视图中时两个大表left join 两个表都是账期分区表 在查看执行计划时 发现两个表是哈希连接。主表走了单个分区 但另一个表走的全表。到时视图的执行效率很慢
解决方法:非主表按照关联条件创建联合索引 。视图的效率就会有很大提升 原执行需要16s 增加索引后查询速率在2s 左右。
疑问:为什么非主表没有走单个分区 而是全表扫描????
非主表没有走单个分区而是全表扫描,可能是因为该表的分区键与主表的关联条件不同,导致无法使用分区剪枝技术来快速定位数据。此外,该表的分区数据可能比较散乱,导致访问单个分区的效率不如全表扫描。通过创建联合索引,可以将关联字段的数据物理上组织在一起,提高访问效率。