这是我写的sql ,但是查询时一直显示在处理,许久没有结果!!实质上这些表 中没有符合条件的结果,可是还是很耗时间,希望有看明白的给小弟指点一下。感谢啦啊SELECT  BP.ID as IDS,
(
SELECT mm.MENU_DATE from windown_meal_sort_menu AS mm where  mm.BRANCH_ID=2  ORDER BY ID DESC 
) AS DATESfrom bd_product AS BP where BP.ID in (
  SELECT  BOM.PRODUCT_ID  from smart_menu_bom  AS BOM where BOM.HEADER_ID IN (
   SELECT SM.BRANCH_ID from smart_menu AS SM where SM.BRANCH_ID = 2   AND SM.id in (
    SELECT msm.MENU_ID from windown_meal_sort_menu AS msm where 
    msm.BRANCH_ID=2   ORDER BY msm.ID DESC 
    )
  )
);MySQL 优化

解决方案 »

  1.   

    把IN->INNER JOIN
    在连接字段上建立索引
      

  2.   

    建议描述语句想实现的功能, 楼上的语句非常混乱。并不方便别人理解想实现的功能。   建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
       
       1. 你的 create table xxx .. 语句
       2. 你的 insert into xxx ... 语句
       3. 结果是什么样,(并给以简单的算法描述)
       4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。