先扫描驱动表的(外表),外表的每一行驱动内表,然后匹配,所以nest loops不是主要依赖于内表有多少行,而是非常依赖于驱动表到底有多少行参与nested loops,
因为驱动表(或者准确的说是驱动的cardinality)越多,那么nested loops的效率会越低,因为内表是索引效率,成本不会变化的,变化的是驱动结果集的行数导致整个查询成本的升高。
一般来说,驱动表的基数不要超过200到300行吧,否则可能hash join更好。
标签:div 效率 log nal card 嵌套循环 成本 nested 否则
先扫描驱动表的(外表),外表的每一行驱动内表,然后匹配,所以nest loops不是主要依赖于内表有多少行,而是非常依赖于驱动表到底有多少行参与nested loops,
因为驱动表(或者准确的说是驱动的cardinality)越多,那么nested loops的效率会越低,因为内表是索引效率,成本不会变化的,变化的是驱动结果集的行数导致整个查询成本的升高。
一般来说,驱动表的基数不要超过200到300行吧,否则可能hash join更好。
标签:div 效率 log nal card 嵌套循环 成本 nested 否则
原文地址:https://www.cnblogs.com/gavinYang/p/8168959.html