对表中code字段进行全模糊不区分大小写的查询,全模糊是不走索引的,字段不区分大小写查询可以将code列和查询参数转化为大写/小写进行模糊查询
mysq l版本 5.7
查询的code字段,字符集为utf8mb4,排序规则为 utf8mb4_bin
数据量:188万
sql1:全模糊查询 5.679秒
SELECT SQL_NO_CACHE
*
FROM
TABLE
WHERE
CODE LIKE '%TEST-3-000260%'
sql2:全模糊且字段转化为小写查询 5.334秒
SELECT SQL_NO_CACHE
*
FROM
TABLE
WHERE
LOWER( CODE ) LIKE '%test-3-000260%'
sql3:全模糊且字段转化为大写查询 5.298秒
SELECT SQL_NO_CACHE
*
FROM
TABLE
WHERE
UPPER( CODE ) LIKE '%TEST-3-000260%'
根据常理,都是全表检索,sql2和sql3还需要对每一行进行大小写转换,应该会更慢才对