mybatis中oracle的sql没走索引导致特别慢(未加jdbcType的)
2023-12-14 20:55:42
如果直接跑sql是能走索引很快,在mybatis中不能,可能就是jdbcType的原因。
比如,我有一个属性A,在表里面是VARCHAR2类型,但是在mybatis中的sql是#{a},缺少jdbcType=JdbcType.VARCHAR,就会导致mybatis默认给NVARCHAR类型,调用PS对象会使用setNString,最后导致隐式转换问题不走索引。
把jdbcType加上就行了
如果是mybatis plus的话,在TableField注解上加了jdbcType还要在TableName注解中设置autoResultMap自动生成,不然这个jdbcType不会生效。
具体可以debug看一下
文章来源:https://blog.csdn.net/weixin_43373239/article/details/134998119
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!