mysql 多个 like 查询优化

LIke  查询速度 从 低到高(默认不区分大小写):
  select * from db where 'keyword' like '%金融%' or 'keyword' like '%企业%' .....
  select * from db where keyword REGEXP '金融|企业'    (正则查询,区分大小写)

select * from db where instr(keyword, '金融') > 0 or instr(keyword,'企业') > 0 (查询速度比like 快2倍)

以上三个都不会走索引。
select * from test where name like 'test%' 只有这样会用到索引

IN适合于外表数据量大而内表数据小的情况;EXISTS适合于外表小而内表大的情况(In不走索引)

EXPLAIN select * from test 查看是否用索引

边查边插入
  insert into test2 (select * from test)
 
 
posted @ 2018-05-15 18:37  Waking_up  阅读(924)  评论(0编辑  收藏  举报