使用mybatis执行sql语句很慢,但是把sql提出来到终端执行很快
问题现象:在进行接口性能测试时,发现一个查询详情的接口反应速度在10s左右,日志打印定位到一条sql执行执行很慢,于是将sql复制到终端执行,执行速度100ms左右。
使用数据库:pgsql,数据量100w
示例代码:
select * from table_a a join table_b b on a.project_no = b.project_no
and a.id = #{id}
解决方案:①将#替换为$,使用此方法可能导致sql注入
②将mapper层查询方法入参从String类型更改为Long类型,并增加#{id,jdbcType = BIGINT}
问题原因:mybatis #替换是使用预编译的方式,会将#{}替换为?,在将参数绑在?上,在入参传入的数据类型和数据库字段数据类型无法对应且数据量大时就会出现替换慢的问题。
本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/abee1ed3dd.html
相关推荐
-
python Playwright优化页面等待和处理异步操作
在使用 Playwright 进行页面自动化时,优化页面等待和处理异步操作是非常重要的,可以提高脚本的稳定性和执行效率。 优化页面等待和处理异步操作的建议 **1. 使用正确的等待…
1天前 -
利用Python进行调查问卷的信度检验和效度检验,并对量表进行因子分析
Python语言实现信度、效度检验及探索性因子分析 信效度检验 1.信度检验 1.1 引入需要读入文件的pandas库和计算Cronbach’s a 系数的pingou…
1天前 -
【ElasticSearch】query语法
介绍ES 的query子句的语法,query子句主要用于编写查询条件,类似SQL中的where语句。 query子句主要用来编写类似SQL的Where语句,支持布尔查询(and/o…
数据库 1天前 -
SyntaxError: Expected property name or ‘}‘ in JsoN atposition 1
{\”events\”:[{\”type\”:0,\”data\”:{},\”timestamp\”:1675991917151},{\”type\”:1,\”data\”:{},…
1天前 -
SQL Server 2008R2完整安装教程
安装包: sql_server_2008_r2(提取码: fqro) 安装教程: 点击左侧“安装”按钮 选择“全新安装或现有……..” 安装层析支持规则:…
1天前 -
下载安装Microsoft ODBC Driver for SQL Server和配置SQL Server ODBC数据源
在开始之前,我们先了解一下ODBC(Open Database Connectivity) Driver 18 for SQL Server。这是微软提供的一种数据库访问标准,它允…
1天前 -
【SQL Server】数据库开发指南(七)MS-SQL存储过程全面解析:种类、优点和创建方法详解
本系列博文还在更新中,收录在专栏:#MS-SQL Server 专栏中。 本系列文章列表如下: 【SQL Server】 Linux 运维下对 SQL Server 进行安装、升级…
数据库 1天前 -
Navicat Premium 16.2.5 连接 redis 7.0.12
目录 前言 一、服务器虚拟机下载redis 1.下载redis包。 Ⅰ.前往官网下载Redis。编辑编辑 Ⅱ.我上传的还没审核过,审核过了就挂这(过了) 2、上传解压并移动到…
1天前 -
深度剖析PostgreSQL慢SQL:原因与优化方案大揭秘
PostgreSQL 是一种成熟稳定的关系型数据库管理系统,它支持高级的数据类型、索引以及查询语言。但是,尽管 PostgreSQL 在性能和可靠性方面表现出色,但偶尔也会出现…
1天前
