首页 > 其他分享 >参数占位符 #{xx} 和 ${xx} 的区别

参数占位符 #{xx} 和 ${xx} 的区别

时间:2024-12-15 20:09:56浏览次数:7  
标签:缓存 占位 编译 xx 参数 SQL 执行

  • #{xx} :带有#{}的SQL会采用SQL预编译技术,预编译后的SQL中 #{} 被替换为 “?”,这里的 “?”叫变量占位符,在实际执行SQL时会用“xx”的实际值替换变量占位符,效率更高,可以防止SQL注入
    • SQL预编译:MySQL执行SQL有几个步骤,“查缓存->[语法分析->优化->编译->]执行”,如果缓存中存在该SQL则直接执行,否则编译后将结果会存在缓存中,以提升后续查询的效率
  • ${xx}:不采用SQL预编译技术,每次执行SQL时,直接将“xx”拼接在SQL中(xx不作为一个变量),然后将SQL发给MySQL服务器走SQL执行的流程,效率更低,存在SQL注入风险
    • SQL注入:通过操作输入的数据来修改事先定义好的SQL语句,从而执行代码对服务器进行攻击

标签:缓存,占位,编译,xx,参数,SQL,执行
From: https://www.cnblogs.com/locho/p/18608620

相关文章

  • spring cloud open feign header 参数传递
    consumer配置以下内容```javapackagecom.me.consumer.config;importfeign.RequestInterceptor;importfeign.RequestTemplate;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;importorg.spri......
  • XXL-JOB:快速上手(最详细教程)
    下载部署源码仓库地址GitHub-xuxueli/xxl-job:Adistributedtaskschedulingframework.(分布式任务调度平台XXL-JOB)Adistributedtaskschedulingframework.(分布式任务调度平台XXL-JOB)-xuxueli/xxl-jobhttps://github.com/xuxueli/xxl-jobxxl-job:一个分布式任务调度......
  • HKUST:激活LLM与下游任务相关的参数
    ......
  • h5页面如何传递参数给小程序?
    在前端开发中,从H5页面传递参数给小程序(小程序通常指的是微信小程序)涉及到一些特定的步骤和接口。以下是一个基本的流程,你可以根据具体需求进行调整:1.在H5页面中生成小程序二维码或链接首先,你需要在H5页面中生成一个可以跳转到小程序的二维码或链接。这通常通过调用微信提供的接......
  • springboot/springcloud通过feign调用时请求头加header参数
    在使用springcloud时需要跟踪同一请求的路径,所以需要把请求头沿着请求传递下去,由于使用的时feign,在此记录下找到的两个方法。方法1、直接加RequestHeader下面加粗部分,请求时设置@FeignClient(value="org-service")publicinterfaceOrgFeign{@RequestMapping(method=......
  • Linux内核调优参数配置
    在Linux中,内核调优涉及到对系统内核的各种参数进行优化,以适应不同的工作负载和场景。这些参数主要存储在两个地方:一个是运行时动态可调的/proc/sys目录下的文件,另一个是持久化的配置文件/etc/sysctl.conf。1.内核调优配置文件/etc/sysctl.conf:这是最常用的内核参数配置文件,用......
  • 规模法则(Scaling Law)与参数效率的提高,
    上一篇:《人工智能大语言模型起源篇(三),模型规模与参数效率》规模法则与效率提高如果你想了解更多关于提高变换器效率的各种技术,我推荐阅读2020年的《EfficientTransformers:ASurvey》https://arxiv.org/abs/2009.06732论文,接着是2023年的《ASurveyonEfficientTraining......
  • gofiber: 请求参数是数组的处理
    一,js处理数组的形式:js的处理:varaddIdList=[];for(i=0;i<content.length;i++){if(content[i].checked){addIdList.push(content[i].value);}}console.log("选中的id:");......
  • sql server 2008 r2 展开时报错:参数名:viewInfo ( Microsoft SqlServer Management S
    HR服务器的数据库报了一个不常见的错误,记录下来分享给大伙,如果遇到同样的问题,希望可以得到解决。服务器环境:windowsserver2008(64Bit)数据库版本:SQLserver2008R2错误提示:值不能为空。参数名:viewInfo(Microsoft.SqlServer.Management.SqlStudio.Expl;如下图:  在路径:C:\Us......
  • Linux ed命令教程:轻松学会使用ed行编辑器(附语法参数安装及实例)
    Linuxed命令linux ed 命令是一个行编辑器。它被认为是标准的Unix文本编辑器,因为它是首个出现在Unix的文本编辑器,并且它曾经无处不在,你在任何一个POSIX系统中都能找到它(通常来说,你现在也可以)。在某种程度上,你可以很容易看出来它是第一个文本编辑器,因为它在许多方面的......