2个表join查询,hint提示无效呢

【产品名称】

observer

【产品版本】

3.12

【问题描述】

create table h1(c1 int, c2 int, key idx_h1_c1(c1));

create table h2(c1 int, c2 int, key idx_h2_c1(c1));

explain select h1.c1,h2.c2 from h1 ,h2 where h1.c1=h2.c1 ;

explain select /*+index(h2 idx_h2_c1)*/ h1.c1, h2.c2 from h1 ,h2 where h1.c1=h2.c1;

执行结果:h2索引 没使用到呢

预期结果:

用的的不是mysql 连接的 

obclient -uroot@tpcc -h127.0.0.1 -P2881 -p123456 -Dtpcc -c 改成这样也是如此

对于结果集很大的情况,merge-join需要对其排序效率并不会很高,而nested loop join是一种嵌套循环的查询方式无疑更不适合大数据集的连接,而hash-join正是为处理这种棘手的查询方式而生,尤其是对于一个大表和一个小表的情况,基本上只需要将大小表扫描一遍就可以得出最终的结果集

这个bug 已经修掉