有4张表做如下关联查询,其中c表有100多万条记录,请问如何做查询优化,让查询速度更快些
select b.mc from a,b where a.id=b.id union all  
select c.mc from c,d where c.id=d.id

解决方案 »

  1.   

    语句上没什么可以再优化的了。看一下索引吧。在  a,b,c,d 四个表上都创建基于 id 的索引。
      

  2.   

    a,b,c,d表的id字段建立聚集索引
      

  3.   

    id不是自增主键,是varchar格式数据,并且b.id和d.id会有重复的记录
      

  4.   

    id不是自增主键,是varchar格式数据,并且b.id和d.id会有重复的id值
      

  5.   

    这么把全部数据查询出来 实际业务上应该没什么 意义吧?首选 应该是 加 索引了~还有建议 加 WHERE 条件 条件里的字段 应该是有个索引的 字段 这样查询数度就很快了~注意的是索引加多了  对添加,更新,删除  会有影响的。
      

  6.   

    a,b,c,d表的id字段建立聚集索引
      

  7.   

    聚焦索引
    create unique clustered index index_name on tablename(columnname)