测试数据库 mysql
like在模糊查询的情况下使用,使用通配符%,like语句要使索引生效,其后不能以%开始,即 like %字段名% 、like %字段名这类语句会使索引失效,而like 字段名、like 字段名%这类语句索引是可以正常使用,也可以换locate的写法、find_in_set等
instr(key, 'downUrl') 在一个字符串(key)中搜索指定的字符(downUrl),查找出现downUrl字符串出现的第一个位置时的位置索引,返回发现指定的字符的位置(index);
key被搜索的字段,downUrl 被搜索的字符串
结论:在字符串key里面,字符串downUrl出现的第一个位置(index),index是从1开始计算,如果没有找到就直接返回0,不会有返回负数的情况,下面是效率测试对比:
使用like模糊查询,耗时0.019s
使用instr()函数,耗时0.008s