大数据表之间join 的优化
我最近在做个查询报表,查询速度特别慢,大致是 select * from a join b on b.c1=a.c1 join c on c.c2=b.c2
where (筛选a)
表a特别大,有2KW条记录。
我们经理认为建立临时表把筛选a的记录存放到临时表中,再让临时表来join 表b和表c。
可我认为这样和3个表直接join再where效率是一样的?
另外我认为关键还是执行以下查询时三个表要有合适的索引seek,我想在表a上新建索引以证明我的观点,可这个表实在太大,不敢贸然建立。
select * from a join b on b.c1=a.c1 join c on c.c2=b.c2
where (筛选a)
请高手们评点下我的想法对不对:先筛选大表a插入到临时表,再用临时表join 表 b和表c根本就没有效率上的优势呢?