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)
 
 

转载于:https://www.cnblogs.com/pythonSF/p/9042482.html

你可能感兴趣的:(mysql 多个 like 查询优化)