a字段建索引 然后like '%a%' 搜索会提高嘛???有人说会,有人说不会,我试了不提高.狠多资料上还说 '%a%'这种情况不会利用索引。 但这文章,提高了一半都多。
http://bbs.itjsj.com/redirect.php?fid=95&tid=17912&goto=nextnewset这是怎么回事???
表记录20多万,不断增加中,如何提高搜索的效率,
把table表(20M)装载到内存表中,内存表巨占内存(300M)有什么好的解决办法嘛

解决方案 »

  1.   

    explain select * from tb where col like 'a%';
    explain select * from tb where col like '%a%';
    看一下结果,第一条可以用到索引,第二条是不能利用索引的
      

  2.   

    但这文章,效率提高了一半都多。
    http://bbs.itjsj.com/redirect.php?fid=95&tid=17912&goto=nextnewset这是怎么回事???
      

  3.   

    a字段建索引 然后like '%a%' 搜索会提高嘛???不会。实践是检查的标准。 或者楼主可以按方法试验一下。
      

  4.   

    楼主可以考虑下 使用 MyISAM 存储引擎。。 在字段中增加“FULLTEXT”索引,我试过这样速度会快一些;效果也相对明显。不过,MyISAM 存储引擎 不支持事务的。数据插入是一个大问题。http://bbs.itjsj.com/redirect.php?fid=95&tid=17912&goto=nextnewset 文中描述方法,刚刚在5.1 版本上试过了一下;测试结果和他讲的有点出入;变化不是太大。当然,不同数据测试效果肯定有所差异的。 
      

  5.   

    '%a%'索引失效,'a%'索引有效。
    但楼主链接中的例子不能说明问题。原因如下:
    (1)总共37365条记录,数据量太小,不能说明问题,怎么写效率都差不多。
    (2)'%a%'的结果(1.40,0.54,0.54,0.54,0.53,0.55,0.54),第一次查询有可能是因为网络交互导致速度慢,并不是因为索引失效导致的。