mybatis 模糊查询,有没有人跟我遇到过一样的问题。。。

2020-03-30 17:39:42 +08:00
 lr709

select * from table where name like #{name}时巨慢,可能是索引失效了,name 的值是'某某名字%',按理说'%某某名字%'这样才会失效啊,就很奇怪。

然后我这么写 where name like #{name}||'%',这个 name 结尾没有%,查询速度就正常了。

1012 次点击
所在节点    问与答
3 条回复
xuwenping
2020-03-30 17:53:57 +08:00
我们一般都是采用后面一种写法,至于第一种写法慢的问题,不负责任的猜测是 mybatis 对于包含%通配符的入参进行了校验所影响的
Hurriance
2020-03-30 22:06:18 +08:00
打印 sql 试试,同意楼上
lr709
2020-03-31 10:08:17 +08:00
@Hurriance 试过了,看不出什么问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/657650

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX