现在的:
select * from nfwlw where bs in('赣州','吉安','龙岩','梅州','三明','抚州') or describe1 like '%赣州%' or describe1 like '%梅州%' or describe1 like '%龙岩%' or describe1 like '%吉安%' or describe1 like '%泰和%' or describe1 like '%遂川%' or describe1 like '%三明%' or describe1 like '%鹰潭%' or describe1 like '%上饶%' order by ID DESC大约10万数据,现在查询好慢

解决方案 »

  1.   

    describe1 的字段设计有问题,既然是城市这么明显的信息,为什么不单独设定字段加索引 用等于,就不会慢了
      

  2.   

    describe1是一句话。不是单独的城市名
      

  3.   


    select * from nfwlw where bs in('赣州','吉安','龙岩','梅州','三明','抚州') order by ID DESC 
    union all 
    select * from bs where describe1 like '%赣州%'  order by ID DESC 
    union all
     select * from bs where describe1 like '%梅州%'  order by ID DESC
    union all
    select * from bs where describe1 like '%龙岩%'  order by ID DESC
    union all 
    select * from bs where describe1 like '%吉安%' order by ID DESC
    union all 
    select * from bs where describe1 like '%泰和%'  order by ID DESC
    union all 
    select * from bs where describe1 like '%遂川%'  order by ID DESC
    union all 
    select * from bs where describe1 like '%三明%'  order by ID DESC
    union all 
    select * from bs where describe1 like '%鹰潭%'  order by ID DESC
    union all 
    select * from bs where describe1 like '%上饶%'  order by ID DESC 
      

  4.   

    楼上的一样,
    不要用like '%龙岩%'
    用 like '龙岩%'在此列创建索引,效率会高点,