Sqlite数据库中如何优化like查询
Sqlite数据库中like的查询和Mysql一级Oracel等数据库一样,可以进行模糊查询,但是在Sqlite数据库中like查询是不会走索引的,当数据库数据库较大时用模糊查询就会显得特别的慢。
因此,如何才能让模糊查询走索引呢?下面提供一个找了很久很久才找到的方法,绝对比网上提供的那些好用的多。
如:where name like ‘W%‘ 可以转换成 where name >=‘W‘ and name<=‘Wa‘ //大于等于本身,小于等于本身加a 此种转换只使用最后一位是字母的 如:where name like ‘我%‘ 可以转换成 where name >=‘我‘ and name <=‘戒‘ //大于等于本身,小于等于最后一个字符的对应的Unicode编码加一对应的汉字 这是什么原理呢,其实是将‘我’转换成Unicode编码(\u6211),然后加一变成(\u6212),再讲\u6211转换为对应的汉字则变成‘戒‘
注意:转换成unicode编码后,加一是按照16进制进行加一,并不是十进制,若转换为unicode编码后最后一位是9则加一下一位变成a
附加:十六进制
0 1 2 3 4 5 6 7 8 9 a b c d e f
相关推荐
DAV数据库 2020-06-17
airfling 2020-05-31
zbcaicai 2020-05-26
beibeijia 2020-04-25
Rain 2020-04-16
Plant 2020-04-08
园搬家测试账号 2020-03-25
MFCJCK 2020-02-24
xiaoxiangyu 2020-02-23
Plant 2020-02-03
CharlesYooSky 2020-02-01
MFCJCK 2020-01-31
nxcjh 2020-01-29
wintershii 2020-01-18
zbcaicai 2020-01-03
MFCJCK 2019-12-30
airfling 2019-12-28
Plant 2019-12-27
Dlanguage 2019-12-27
Dlanguage 2019-12-25
whyname 2019-12-23