SELECT *
FROM dbo.mmImportOrderDtl iod
JOIN dbo.mmImportOrderHdr ioh ON iod.ummImportOrderHdrId=ioh.ummImportOrderHdrId AND iod.bUse=1 AND ioh.bUse=1
JOIN dbo.mesColour c ON c.uColourId=iod.uColourId
where ioh.sOrderNo='422576-5656'使用以上者条语句查询速度很快,不到1SSELECT c.sColourCNName
FROM dbo.mmImportOrderDtl iod
JOIN dbo.mmImportOrderHdr ioh ON iod.ummImportOrderHdrId=ioh.ummImportOrderHdrId AND iod.bUse=1 AND ioh.bUse=1
JOIN dbo.mesColour c ON c.uColourId=iod.uColourId
where ioh.sOrderNo='422576-5656'同样的只是输出的字段减少为一个了,查询速度倒是变成34S求大神指点,从来没有遇到过这种情况,数据表中只有主键有索引,其他什么都没有做

解决方案 »

  1.   

    sColourCNName字段加索引了吗
      

  2.   

    刚刚又做了其他的测试,发现只要是跟dbo.mesColour 这张表有关联的查询都很慢,都是与这张表的主键ID进行关联查询,这个是什么问题,之前一直都是正常的,就最近几天发生的,中间也没有对这张表做什么操作
      

  3.   

    如果是把dbo.mesColour 这张表现插入临时表,然后通过临时表去关联,数据查询速度正常,求解
      

  4.   

    你optimize table mesColour   这个命令试一下,你弄到临时表很快,而关联这个表很慢,估计是表碎片太多导致的
      

  5.   

    mysql可以进行跨服务器多表关联查询吗?192.168.0.1服务器用户表有1000万条数据
    192.168.0.2服务器用户表也有1000万条数据我想通过sql语句把两个表连接起来,这岂不就是相当于分布式数据库了吗?请问有没有这样的sql语句?