数据库中单位表250万条记录,现在要在这250万个记录中查找某个字段包含什么关键字的信息 
查询很慢,怎么优化sql 
在表中的递增ID建了索引,几个常用的查找字段也建了索引 
查询语句为 
select 字段名 from 表 where 某字段 like ‘%关键字%’

解决方案 »

  1.   

    倒排索引
    你用like ‘%关键字%’查询,这样建立索引也无法提高多少效率。
    只有想搜索引擎一样,建立倒排索引。
    倒排索引要对重点查询字段先分词,然后在针对每个词在每一行对应字段的出现建立表。
    查询时只要查询这个表就可以了。
      

  2.   


    单表查询,有索引是针对查询条件的,你那个条件如此单一,而且还是LIKE怎么优化
    效果也不明显,可以考虑增加表头,增加查询条件等