打个比方我merge 30张表,每个表都有索引我查询 30张表里面的1张表内的内容对于merge表来说,是会扫描所有的30张表嘛?索引会起作用,但扫描索引的时间是否能忽略?

解决方案 »

  1.   

    也就是说我想知道扫描一张基础表和扫描一张merge表(包括该基础表)的性能差异。手头无环境,无法测试,只能直接询问了有经验的告知下,谢了
      

  2.   

    你可以下载一个MYSQL。然后安装在你本机。这样就可以搭环境进行测试了。否则别人在自己机器上根据自己的猜测搭出来的东西未必和你的相同。
      

  3.   

    用两表大约16万条记录测试了一下,用merge引擎 与 UNION ALL测试了一下,
    似乎速度相差不大
    select * from mergetable where id='123'
      

  4.   

    merge引擎是把结果集都转化为了临时表
      

  5.   

    打个比方,表A是表A1~A30的merge,如果你做:
    select * from A where id = 1;
    所有的A1~A30都是会被搜索的。但是,如果你知道id 1肯定在A1里面,那么可以做:
    select * from A1 where id = 1;
    会只搜索表A1。